MySQL Connector/J 5.1.37 發布

jopen 9年前發布 | 8K 次閱讀 MySQL

MySQL JDBC 驅動 5.1.37 版本發布,兼容 JDBC 4.2API,帶來部分新功能,修復許多 bug,包括之前發現的連接 5.0 或者 5.1 服務器異常的回歸問題。

MySQL Connector/J 5.1.37 是個維護版本,適用于 MySQL 5.5/5.6/5.7 版本。這是第一個支持 Java Database Connectivity 4.2 API 的版本。

新特性和改進

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

    </li>

  • The code for executing aREPLACEstatement        whenrewriteBatchedStatements=truehas been        refactored by putting multiple batched statements into a single        query, making it work more like anINSERTstatement. This increases the efficiency for runningREPLACEstatements. Thanks to Jie Han for        contributing the code.       (Bug #21429909, Bug #77681)

    </li>

  • 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 for details. Thanks to Kwon Nam Son for contributing the code.       (Bug #21304726, Bug #77449)

    </li>

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

    </li>

  • 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 for details.

    </li> </ul>

    Bug 修復

    • AClassCastExceptionresulted for a Fabric        connection whenrewriteBatchedStatementswas “true” and a batch update was rewritten.       (Bug #21876798)

      </li>

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

      </li>

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

      </li>

    • TheIS_GENERATEDCOLUMNfield was empty in the        result returned byDatabaseMetaData.getColumns(). This fix        corrects the field so that it contains aYESorNOaccording to whether the column is        generated or not.       (Bug #20969312, Bug #76859)

      </li>

    • getTypeInfo()returned an incorrectPRECISIONvalue of “255” for the        data type ofVARCHAR. The return value has        been corrected to “65535.” (Bug #20675539, Bug #76187)

      </li>

    • When a connection is forcefully closed withabortInternal()in theConnectionImplclass, a null point exception        sometimes resulted. This is now avoided by putting the        associatedthis.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)

      </li>

    • If the MySQL server's default authentication method was SHA256        but neither one of the Connector/J connection propertiesallowPublicKeyRetrievalandserverRSAPublicKeyFilewas set, the        authentication failed with aTransientConnectionException, 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)

      </li>

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

      </li>

    • 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)

      </li> </ul> 更多改進內容請看發行說明


      來自:http://www.oschina.net/news/67147/mysql-connector-j-5-1-37

       本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
       轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
       本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!