Fixes bugs found since release 5.1.19.
Bugs Fixed
Important Change:
This fix corrects an issue introduced in Connector/J 5.1.19 that
caused connection errors with MySQL 4.1 and earlier servers. A
java.lang.ClassCastException exception
occurred during connection initialization when
com.mysql.jdbc.ConnectionImpl.buildCollationMapping()
interpreted the output of the SHOW COLLATION
statement.
(Bug #13958793)
Using Connector/J 5.1.19 in combination with JBoss could result
in an error while establishing a connection:
MySQLNonTransientConnectionException: Bad
handshake. This issue occurred when using the
old-style password hash, which requires the
mysql_old_password plugin during handshake. A
workaround was to replace the 16-byte hash with a 41-byte one,
as explained in Password Hashing in MySQL.
(Bug #13990612, Bug #64983)
A MySQLSyntaxErrorException could occur when
calling certain methods while connected to a MySQL 5.6.5 or
higher server. Affected methods included
StatementImpl.execute() and
PreparedStatement.execute(). The cause was
the removal of the SET OPTION syntax in the
MySQL Server. The methods were modified to use the newer
SET syntax internally.
(Bug #13955027)
A java.lang.StringIndexOutOfBoundsException
exception could occur when manipulating date/time values with
fractional seconds.
(Bug #13960556)
The savepoint identifier generated by the
java.sql.Connection#.setSavepoint() function
could be misinterpreted as a floating-point number, for example
values such as 123e10 or
123e10foo. Such values could cause
replication errors on slave servers because the values are not
quoted in the binary log. The fix ensures that the savepoint
identifiers do not begin with digits.
(Bug #11763271, Bug #55962)
If the string limit was used in a column
name, prepared statements incorrectly treated the statement as
if it used a LIMIT clause. For example, a
prepared statement with maxrows set to 0
could incorrectly reuse the value from a previous call to
setMaxRows(). This issue applied to both
quoted and unquoted column names, and server-side and
client-side prepared statements.
(Bug #11748492, Bug #36478)
