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.
Functionality Added or Changed
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
statements, the checks are unnecessary for other SQL statements
while they reduce the performance of Connector/J. A new, boolean
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
that case and returns the error code
(Bug #18970520, Bug #72890)
changeUser method to switch to a
user created using the
would result in a null pointer exception. This was due to the
fact that the
fromServer buffer was
changeUser called the
sha256_password plugin, and this fix makes
the plugin accommodate to that.
testSha256PasswordPlugin failed when
executed against a commercial version of the MySQL server.
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.
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
NAMES statement to the server, and allows the use of
the connection property
set the character set value in Connector/J's response packet
(Bug #18836319, Bug #72712)
Connector/J failed the test
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.
A null pointer exception was thrown in
isInterfaceJdbc() sometimes when load
balancing was used and the application involved runtime
(Bug #18691866, Bug #72502)
The keys generated by
INSERT statements using
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
(Bug #18344403, Bug #71923)
XA connections failed with a class cast exception 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
(Bug #16722757, Bug #62577)
The Ant script for building Connector/J from source failed to
check the availability of
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)