Version 5.1.33 is a maintenance release of the production 5.1 branch. It is suitable for use with MySQL server versions 5.5, and 5.6.
Many parameters specified with options when making an Ant build of Connector/J from source (for example,
com.mysql.jdbc.testsuite.url.sha256default) were not set as system properties and thus were not available for use in the JUnit tests in the testsuite. With this fix, all com.mysql.jdbc.test.* and com.mysql.jdbc.testsuite.* parameters are forwarded to the JUnit tests. (Bug #19505524)
The 4-byte UTF8 (
utfbmb4) character encoding could not be used with Connector/J when the server collation was set to anything other than the default value (
utf8mb4_general_ci). This fix makes Connector/J detect and set the proper character mapping for any
utfmb4collation. (Bug #19479242, Bug #73663)
XA connections failed with a class cast exception for a load-balanced configuration with
pinGlobalTxToPhysicalConnection=true. This was because some XA-related classes used
com.mysql.jdbc.ConnectionImplin method parameters during calls. This fix makes the classes use
com.mysql.jdbc.Connectioninstead in those cases. (Bug #19450418, Bug #73594)
MANIFEST.MFfile for the JAR package of Connector/J included an empty line between the attributes
Name, which was interpreted as a mark for the end of the main section of the manifest file. This fix removes the empty line. (Bug #19365473, Bug #73474)
changeUser()calls might result in a connection exception (“Got packets out of order”) or a freeze if the
useCompressionoption was set to true. (Bug #19354014, Bug #19443777, Bug #73577)
testUseCompressin the Connector/J testsuite failed with the message “Row size too large (> 8126)...” when they were run against the MySQL server version 5.6.20. This is due to a known limitation with the server version, for which
innodb_log_file_sizehas to be set to a value greater than 10 times the largest BLOB data size found in the rows of the tables plus the length of other variable length fields (that is, VARCHAR, VARBINARY, and TEXT type fields) (see the MySQL 5.6.20 changelog for details). This fix adds, for MySQL 5.6.20, a check for
innodb_log_file_sizeto assert that its value is 335544320 or larger and throws an exception if it is not so, asking the user to increase the size of
innodb_log_file_size. (Bug #19172037)
Using Java 6 or later, running
LOAD DATA INFILEwith a prepared statement resulted in an
IndexOutOfBoundsException. This was a regression introduced by an issue in the patch for Bug #72008, which has now been fixed. (Bug #19171665, Bug #73163)
References: This issue is a regression of: Bug #72008.
Connector/J failed the test for Bug# 64205 in the testsuite, thus might return a garbled error message for an invalid query when connected to MySQL server 5.5 or later. The failure was a regression introduced by the fix for Bug #18836319, which made the issuing of
SET NAMESdependent on the character set difference between the server and the connection. This fix corrects the way by which the error messages are interpreted, so that they will come out right at any stage of a connection. (Bug #19145408)
References: This issue is a regression of: Bug #18836319.
Errors occur when Connector/J mapped Windows time zones to Olson time zones for “Caucasus Standard Time” and “Georgian Standard Time”. This fix corrected and updated all the time-zone mappings in Connector/J using the data from the IANA Time Database v.2014g and the Unicode Common Locale Data Repository (CLDR) v.25. (Bug #17527948, Bug #70436)
The test case
testsuite.simple.XATest.testRecoverfailed when run against MySQL servers 5.7.0 to 5.7.4, because Connector/J did not understand the new output format for
XA RECVOERthat was introduced since MySQL 5.7.0 for fixing Bug #19505524. That fix has recently been reverted in MySQL 5.7.5, so that XA RECOVER output is now, by default, in the old format again. The test case, which runs well with MySQL 5.7.5, is now skipped for server versions 5.7.0-5.7.4. (Bug #17441747)
References: This issue is a regression of: Bug #19505524.