Web lists-archives.com

MySQL Connector/J 5.1.37 has been released




Hello all,

MySQL Connector Java 5.1.37, a maintenance release of the production 5.1
branch, has been released. Connector/J is a Type-IV pure-Java JDBC
driver for MySQL. It is suitable for use with MySQL server versions 5.5,
5.6, and 5.7. It is also the first release of MySQL Connector/J to support
the Java Database Connectivity (JDBC) 4.2 API.

MySQL Connector Java is available in source and binary form from the
Connector/J download pages at
http://dev.mysql.com/downloads/connector/j/5.1.html

MySQL Connector Java (Commercial) is available for download on the My
Oracle Support (MOS) website. This release will be available on
eDelivery (OSDC) in next month's upload cycle.

As always, we recommend that you check the "CHANGES" file in the
download archive to be aware of changes in behavior that might affect
your application.

MySQL Connector/J 5.1.37 includes the following general bug fixes and
improvements, also available in more detail on
http://dev.mysql.com/doc/relnotes/connector-j/en/news-5-1-37.html :

Changes in MySQL Connector/J 5.1.37 (2015-10-15)

Functionality Added or Changed

  * Connector/J now supports the JSON data type, which has
    been supported by the MySQL server since release 5.7.8.

  * methodCompressedInputStream.getNextPacketFromServer() has
    been refactored to reduce memory use and garbage
    collection efforts caused by the use of the inflater.
    (Bug #21648826, Bug #78106)

  * The code for executing a REPLACE statement when
    rewriteBatchedStatements=true has been refactored by
    putting multiple batched statements into a single query,
    making it work more like an INSERT statement. This
    increases the efficiency for running REPLACE statements.
    Thanks to Jie Han for contributing the code. (Bug
    #21429909, Bug #77681)

  * A new connection property,
    truncateFractionalSeconds=true|false, has been
    introduced. It controls whether fractional seconds in
    timestamps are to be truncated on the client side or to
    be sent to the server side for truncation there. See the
    entry for the new property in Driver/Datasource Class
    Names, URL Syntax and Configuration Properties for
    Connector/J
    (http://dev.mysql.com/doc/connector-j/en/connector-j-refe
    rence-configuration-properties.html) for details. Thanks
    to Kwon Nam Son for contributing the code. (Bug
    #21304726, Bug #77449)

  * A new connection property, enableEscapeProcessing, has
    been introduced for supporting JDBC 4.2. It sets the
    default escape processing behavior for Statement objects.
    See the entry for the new property in Driver/Datasource
    Class Names, URL Syntax and Configuration Properties for
    Connector/J
    (http://dev.mysql.com/doc/connector-j/en/connector-j-refe
    rence-configuration-properties.html) for details.

Bugs Fixed

  * A ClassCastException resulted for a Fabric connection
    when rewriteBatchedStatements was "true" and a batch
    update was rewritten. (Bug #21876798)

  * A number of regression tests in the testsuite failed when
    they were run against MySQL 5.7, because the
    NO_AUTO_CREATE_USER SQL mode had become the default
    behavior of the server since MySQL 5.7.7, making some
    GRANT statements in the test fail when a new user had to
    be created. With this fix, CREATE USER statements have
    been added to the regressions tests when needed, to
    prevent the test failures. (Bug #21697684, Bug #78225)

  * Connecting to MySQL 5.0 and 5.1 using Connector/J 5.1.36
    resulted in an SQLException, with a complaint for an
    "Unknown system variable 'language'". (Bug #21415165, Bug
    #77665)

  * The IS_GENERATEDCOLUMN field was empty in the result
    returned by DatabaseMetaData.getColumns(). This fix
    corrects the field so that it contains a YES or NO
    according to whether the column is generated or not. (Bug
    #20969312, Bug #76859)

  * getTypeInfo() returned an incorrect PRECISION value of
    "255" for the data type of VARCHAR. The return value has
    been corrected to "65535." (Bug #20675539, Bug #76187)

  * When a connection is forcefully closed with
    abortInternal() in the ConnectionImpl class, a null point
    exception sometimes resulted. This is now avoided by
    putting the associated this.io.releaseResources() call
    inside a try block, so that the exception, unavoidable
    due to a race condition, can be properly caught and
    ignored. (Bug #20536592, Bug #75849)

  * If the MySQL server's default authentication method was
    SHA256 but neither one of the Connector/J connection
    properties allowPublicKeyRetrieval and
    serverRSAPublicKeyFile was set, the authentication failed
    with a TransientConnectionException, complaining that the
    public key could not be retrieved. With this fix,
    authentication continues in the situation, allowing other
    enabled authentication methods to be tried. (Bug
    #20433047, Bug #75670)

  * When a lock wait timeout occurred, an SQLException was
    thrown while an SQLTransientException should be thrown
    instead. It was due to a wrong SQLState number used in
    the code, which has now been fixed. (Bug #16634180)

  * When the time zone on the MySQL server was configured to
    "GMT" but the client was in a different time zone,
    Connector/J would make wrong adjustments for event
    timestamps when working with the server. (Bug #11758179,
    Bug #50348)

Documentation
--------------
Online: http://dev.mysql.com/doc/connector-j/en/index.html

Reporting Bugs
---------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql