MySQL Connector/J 5.1 Release Notes
Version 5.1.32 is a maintenance release of the production 5.1 branch. It is suitable for use with MySQL Server versions 5.5, and 5.6.
Connector/J used to always check every SQL statement in a
server-side prepared statement to see whether it contained the
ON DUPLICATE KEY UPDATE
clause; but because
the clause is only used with INSERT
statements, the checks are unnecessary for other SQL statements
while they reduce the performance of Connector/J. A new, boolean
connection property
avoidCheckOnDuplicateKeyUpdateInSQL
has been
added, by which the checks for the ON DUPLICATE KEY
UPDATE
clause can be disabled.
(Bug #18232840, Bug #71672)
Connector/J now supports Fabric 1.5. Older versions of Fabric are no longer supported.
Preparing a call to a stored procedure with Fabric caused a null pointer exception to be thrown. (Bug #19034681, Bug #73070)
A bug in the Linux kernel version 3.6 and earlier caused the
MysqlIO.clearInputStream()
method to enter an
endless loop. This fix changes the way the looping condition is
evaluated, in order to avoid the problem.
(Bug #19022745, Bug #73053)
Connector/J returned the incorrect return code “0”
for a thrown exception when the failure happened in the context
of a global XA transaction. With this fix, Connector/J now wraps
any unexpected exception in an XAException
in
that case and returns the error code
XAER_RMFAIL
.
(Bug #18970520, Bug #72890)
Calling the changeUser
method to switch to a
user created using the sha256_password
plugin
would result in a null pointer exception. This was due to the
fact that the fromServer
buffer was
unavailable when changeUser
called the
sha256_password
plugin, and this fix makes
the plugin accommodate to that.
(Bug #18869381)
The test testSha256PasswordPlugin
failed when
executed against a commercial version of the MySQL server.
(Bug #18852682)
Connecting to a user on the server created using the
sha256_password
plugin failed when the
password specified by the client was an empty string (or when no
password was specified). This fix makes Connector/J allow an
empty password in that case, sending it to the server without
applying RSA encryption on it.
(Bug #18852587)
Trying to use any character sets other than UTF-8 for
communications between client programs and the MySQL server
caused Connector/J to perform extra queries after the initial
connection, resulting in higher latency and overhead for the
connection. To prevent extra queries, this fix eliminates the
mechanism of setting the character set to values other than
“utf-8” by issuing a SET
NAMES
statement to the server, and allows the use of
the connection property characterEncoding
to
set the character set value in Connector/J's response packet
during handshake.
(Bug #18836319, Bug #72712)
Connector/J failed the test
ConnectionRegressionTest.testBug7607()
when
Java 8 was used, due to the new static character set mappings in
Java 8. The bug no longer exits after a refactoring of the
character set code for Connector/J 5.1.32.
(Bug #18809129)
A null pointer exception was thrown in
isInterfaceJdbc()
sometimes when load
balancing was used and the application involved runtime
instrumentations.
(Bug #18691866, Bug #72502)
The keys generated by INSERT
statements using
the ON DUPLICATE KEY UPDATE
clause were
incorrect when the clause “ON DUPLICATE KEY
UPDATE
” was not written exactly as so (for
example, when spaces or comments were inserted in between the
words).
(Bug #18344403, Bug #71923)
XA connections failed with a
ClassCastException
for a load-balanced
configuration with multiple hosts. This was because some
XA-related classes used
com.mysql.jdbc.ConnectionImpl
in method
parameters during calls. This fix makes the classes use
com.mysql.jdbc.Connection
instead in those
cases.
(Bug #16722757, Bug #62577)
The Ant script for building Connector/J from source failed to
check the availability of javac
and
rt.jar
from JDK 1.6 before compilation.
That caused compilation to fail when the two files weren't
available. This fix corrects the step in the build script that
checks for those files before compilation.
(Bug #11748301, Bug #35829)