MySQL Connector/J 6.0 Release Notes  /  Changes in MySQL Connector/J 6.0.6 (2017-03-10, Milestone 5)

Changes in MySQL Connector/J 6.0.6 (2017-03-10, Milestone 5)

Version 6.0.6 Milestone is the fifth development release of the 6.0 branch of MySQL Connector/J, providing an insight into upcoming features. It is suitable for use with MySQL Server versions 5.5, 5.6, and 5.7. It supports the Java Database Connectivity (JDBC) 4.2 API.

Functionality Added or Changed

  • X DevAPI: The getPluginVersion() method has been removed from Connector/J, as it is no longer supported by the X Protocol. (Bug #25056803)

  • X DevAPI: The following new connection options have been added for SSL/TLS configuration:

    • xdevapi.ssl-enable

    • xdevapi.ssl-truststore

    • xdevapi.ssl-verify-server-certificate

    See Configuration Properties for details.

  • X DevAPI: DDL for views are now supported by the new methods createView(), dropView(), and alterView(). However, the functions do not support partitioning in an InnoDB cluster or sharding.

  • X DevAPI: The Connector/J X DevAPI has been reorganized:

    • All interfaces for public usage have been moved to the com.mysql.cj.api.xdevapi package, and their implementation classes to com.mysql.cj.xdevapi.

    • All Connector/J internal interfaces have been moved to the com.mysql.cj.api.x.core and com.mysql.cj.api.x.io packages, and their implementation classes to com.mysql.cj.x.core and com.mysql.cj.x.io.

    • Protobuf generated classes have been moved to the com.mysql.cj.x.protobuf package.

    • The MysqlxSessionFactory has been renamed XSessionFactory.

  • IPv6 host addresses are now supported for connections using the X Protocol.

  • Connector/J now supports the new character set collations implemented in MySQL Server 8.0. See Unicode Character Sets for details.

Bugs Fixed

  • X DevAPI: The getLastDocumentIds() method only reported document IDs specified by users, but not those generated by Connector/J. With this fix, all IDs are now reported. (Bug #23519211)

  • When Connector/J was reading a TIMESTAMP value into an instance of a JSR-310 data type, the reading was wrong when the time did not exist in the local time zone of the JVM due to a time change for Daylight Saving Time. It was because Connector/J created first a java.sql.Timestamp instance (which used the JVM's time zone) for the value and then converted it to, for example, java.time.LocalDateTime. With this fix, a JSR-310 object is created directly to avoid the conversion. (Bug #24658016, Bug #82964)

  • Query executions using prepared statements failed with the error Unknown ProtocolEntity class null when the connection property useCursorFetch was set to true. (Bug #24527173)

  • When server-side prepared statements were used, updates to result sets failed in errors. (Bug #24525461)

  • The getString() method returned wrong millisecond values for the TIMESTAMP data type. (Bug #24512766, Bug #82707)

  • Updates to a document object of the Dbdoc type failed when the document contained an array. (Bug #24471057)

  • The method isNumberSigned() returned true for columns of type VARCHAR, which was wrong as it should return false for any non-numeric columns, according to the JDBC Specification. The behavior has now been corrected. (Bug #24350526)

  • An IllegalArgumentException was thrown when lenient was false for a Calendar object and the hours, minutes, and seconds explicitly set via the Calendar constructor did not match the values resulted from the timezone conversion of the Calendar object's date value. (Bug #23702040, Bug #82005)

  • A connection failed with IllegalStateException: TrustManagerFactoryImpl is not initialized after Connector/J set javax.net.ssl.trustStore. (Bug #23510894)

  • A NullPointerException was thrown when a NULL object of any of the classes defined in the java.time package was retried by the ResultSet.getObject() method. (Bug #23188159, Bug #81202)

  • The getType() method returned errors on columns of YEAR and DATETIME data types. (Bug #22931277)