Fixes bugs found since release 5.1.20.
Connector/J applications can now connect to MySQL servers that use the PAM authentication system. See Connecting Using PAM Authentication for details about the Connector/J support, and PAM Pluggable Authentication for information about this authentication feature of the MySQL server. (Bug #13608088)
When a new instance of authentication plugin is obtained (either the default one, or one named in Auth Challenge Packet or in Auth Method Switch Request Packet), it must be checked if plugin's confidentiality requirements are satisfied. If the plugin requested in the Auth Method Switch Request Packet required a secure connection, an insecure connection could be established instead. (Bug #13980303)
With a connection encoding of
gbk
and a server encoding oflatin1
, a call such asPreparedStatement.setString(1, "0f0f0702")
could throw an exceptionjava.lang.StringIndexOutOfBoundsException
. (Bug #13943893, Bug #64731)When Connector/J was connected to a MySQL 5.5 server, the error message for an invalid query could be returned in the wrong character set and appear garbled. (Bug #13702427, Bug #64205)
By default, if an I/O error occurred while executing a query a deadlock could occur as Connector/J attempted to close all open statements (by calling method
ConnectionImpl#closeAllOpenStatements
) The deadlock would occur if anyexecute*(*)
method of another instance of theStatementImpl
class was called by another thread. A workaround was to set the propertydontTrackOpenResources
totrue
. (Bug #12590053, Bug #61247)Specifying a nonexistent character set in the
characterEncoding
orcharacterSetResults
connection options could produce aNullPointerException
error. The error could occur with a typographical mistake, such as using a hyphen instead of an underscore in the name. (Bug #11749010, Bug #37931)The timezone entry was missing for “MEST - Middle European Summer Time”. (Bug #11748548, Bug #36662)