Spurious ! on console when character
encoding is utf8. (Bug#11629)
Fixed statements generated for testcases missing
; for 「plain」 statements.
Incorrect generation of testcase scripts for server-side prepared statements. (Bug#11663)
Fixed regression caused by fix for Bug#11552 that caused driver to return incorrect values for unsigned integers when those integers where within the range of the positive signed type.
Moved source code to Subversion repository.
Escape tokenizer doesn't respect stacked single quotes for escapes. (Bug#11797)
GEOMETRY type not recognized when using
server-side prepared statements.
ReplicationConnection won't switch to
slave, throws 「Catalog can't be null」
exception. (Bug#11879)
Properties shared between master and slave with replication connection. (Bug#12218)
Statement.getWarnings() fails with NPE if
statement has been closed. (Bug#10630)
Only get char[] from SQL in
PreparedStatement.ParseInfo() when
needed.
Geometry types not handled with server-side prepared statements. (Bug#12104)
StringUtils.getBytes() doesn't work when
using multi-byte character encodings and a length in
characters is specified. (Bug#11614)
Pstmt.setObject(...., Types.BOOLEAN)
throws exception. (Bug#11798)
maxPerformance.properties mis-spells
「elideSetAutoCommits」. (Bug#11976)
DBMD.storesLower/Mixed/UpperIdentifiers()
reports incorrect values for servers deployed on Windows.
(Bug#11575)
ResultSet.moveToCurrentRow() fails to
work when preceded by a call to
ResultSet.moveToInsertRow(). (Bug#11190)
VARBINARY data corrupted when using
server-side prepared statements and
.setBytes(). (Bug#11115)
explainSlowQueries hangs with server-side
prepared statements. (Bug#12229)
Escape processor didn't honor strings demarcated with double quotes. (Bug#11498)
Lifted restriction of changing streaming parameters with
server-side prepared statements. As long as
all streaming parameters were set before
execution, .clearParameters() does not
have to be called. (due to limitation of client/server
protocol, prepared statements can not reset
individual stream data on the server
side).
Reworked Field class,
*Buffer, and MysqlIO
to be aware of field lengths >
Integer.MAX_VALUE.
Updated DBMD.supportsCorrelatedQueries()
to return true for versions > 4.1,
supportsGroupByUnrelated() to return
true and
getResultSetHoldability() to return
HOLD_CURSORS_OVER_COMMIT.
Handling of catalog argument in
DatabaseMetaData.getIndexInfo(), which
also means changes to the following methods in
DatabaseMetaData: (Bug#12541)
getBestRowIdentifier()
getColumns()
getCrossReference()
getExportedKeys()
getImportedKeys()
getIndexInfo()
getPrimaryKeys()
getProcedures() (and thus indirectly
getProcedureColumns())
getTables()
The catalog argument in all of these
methods now behaves in the following way:
Specifying NULL means that catalog
will not be used to filter the results (thus all
databases will be searched), unless you've set
nullCatalogMeansCurrent=true in your
JDBC URL properties.
Specifying "" means
「current」 catalog, even though this isn't
quite JDBC spec compliant, it's there for legacy users.
Specifying a catalog works as stated in the API docs.
Made Connection.clientPrepare()
available from 「wrapped」 connections in the
jdbc2.optional package (connections
built by ConnectionPoolDataSource
instances).
Added Connection.isMasterConnection() for
clients to be able to determine if a multi-host master/slave
connection is connected to the first host in the list.
Tokenizer for = in URL properties was
causing sessionVariables=.... to be
parameterized incorrectly. (Bug#12753)
Foreign key information that is quoted is parsed incorrectly
when DatabaseMetaData methods use that
information. (Bug#11781)
The sendBlobChunkSize property is now
clamped to max_allowed_packet with
consideration of stream buffer size and packet headers to
avoid PacketTooBigExceptions when
max_allowed_packet is similar in size to
the default sendBlobChunkSize which is
1M.
CallableStatement.clearParameters() now
clears resources associated with
INOUT/OUTPUT
parameters as well as INPUT parameters.
Connection.prepareCall() is database name
case-sensitive (on Windows systems). (Bug#12417)
cp1251 incorrectly mapped to
win1251 for servers newer than 4.0.x.
(Bug#12752)
java.sql.Types.OTHER returned for
BINARY and VARBINARY
columns when using
DatabaseMetaData.getColumns(). (Bug#12970)
ServerPreparedStatement.getBinding() now
checks if the statement is closed before attempting to
reference the list of parameter bindings, to avoid throwing
a NullPointerException.
ResultSetMetaData from
Statement.getGeneratedKeys() caused a
NullPointerException to be thrown
whenever a method that required a connection reference was
called. (Bug#13277)
Backport of Field class,
ResultSetMetaData.getColumnClassName(),
and ResultSet.getObject(int) changes from
5.0 branch to fix behavior surrounding VARCHAR
BINARY/VARBINARY and related
types.
Fixed NullPointerException when
converting catalog parameter in many
DatabaseMetaDataMethods to
byte[]s (for the result set) when the
parameter is null.
(null isn't technically allowed by the
JDBC specification, but we've historically allowed it).
Backport of VAR[BINARY|CHAR] [BINARY]
types detection from 5.0 branch.
Read response in
MysqlIO.sendFileToServer(), even if the
local file can't be opened, otherwise next query issued will
fail, because it's reading the response to the empty
LOAD DATA INFILE packet sent to the
server.
Workaround for Bug#13374:
ResultSet.getStatement() on closed result
set returns NULL (as per JDBC 4.0 spec,
but not backward-compatible). Set the connection property
retainStatementAfterResultSetClose to
true to be able to retrieve a
ResultSet's statement after the
ResultSet has been closed via
.getStatement() (the default is
false, to be JDBC-compliant and to reduce
the chance that code using JDBC leaks
Statement instances).
URL configuration parameters don't allow
‘&’ or
‘=’ in their values. The JDBC
driver now parses configuration parameters as if they are
encoded using the application/x-www-form-urlencoded format
as specified by java.net.URLDecoder
(http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLDecoder.html).
(Bug#13453)
If the ‘%’ character is
present in a configuration property, it must now be
represented as %25, which is the encoded
form of ‘%’ when using
application/x-www-form-urlencoded encoding.
The configuration property
sessionVariables now allows you to
specify variables that start with the
‘@’ sign.
When gatherPerfMetrics is enabled for
servers older than 4.1.0, a
NullPointerException is thrown from the
constructor of ResultSet if the query
doesn't use any tables. (Bug#13043)
