MySQL Connector/J 8.0版本说明/ MySQL Connector/J 8.0.7的更改(2017-07-10,开发里程碑)

MySQL Connector/J 8.0.7的更改(2017-07-10,开发里程碑)

MySQL连接器和其他MySQL客户端工具和应用程序现在将其版本号的第一个数字与他们支持的(最高的)MySQL服务器版本同步。这个更改使得决定为哪个服务器版本使用哪个客户端版本变得简单和直观。

Connector/J 8.0.7是第一个使用新编号的版本。它是Connector/J 6.0.6的继承者。

增加或更改的功能

  • X DevAPI:的相关方法有一些更改结果接口:

    • getLastDocumentId ()而且getLastDocumentIds ()已被替换为getDocumentId ()而且getDocumentIds (),它们放在一个新的AddResult接口扩展结果

    • 一个新的getAutoIncrementValue ()方法添加到新的InsertResult接口扩展结果

    看到MySQL连接器/J X DevAPI参考为更多的细节。(错误# 25207784)

  • X DevAPI:对象不再允许传递空搜索条件,例如NULL值或空字符串Collection.Modify ()而且Collection.Remove ()方法。

  • X DevAPI:默认情况下,使用X协议的连接现在是安全的。此外,xdevapi.ssl-enable连接选项已被xdevapi.ssl-mode选项,禁用要求(默认),VERIFY_CA,VERIFY_IDENTITY为其允许值;中的新选项的描述配置属性获取详细信息。

  • X DevAPI:统一了BaseSessionNodeSession,XSession接口变成单一的com.mysql.cj.api.xdevapi.Session接口。还作了下列有关修改:

    • 重命名XSessionFactorySessionFactory

    • 统一了AbstractSessionNodeSessionImpl,XSessionImpl类的com.mysql.cj.xdevapi.SessionImpl类。

    • 删除了Session.bindToDefaultShard ()方法和VirtualNodeSession接口。

    • mysqlx.getNodeSession ()方法已重命名为mysqlx.getSession ()它现在返回a会话对象。

    • DatabaseObject.getSession ()方法现在返回会话对象(而不是旧的会话接口)。

    看到MySQL连接器/J X DevAPI参考为更多的细节。

  • 为了避免在核心Connector/J类中使用JDBC语句,实现了以下更改:

    • 创建了一个新的com.mysql.cj.api.Query接口,该接口由StatementImpl

    • 取代了com.mysql.cj.api.jdbc.interceptors.StatementInterceptor接口的com.mysql.cj.api.interceptors.QueryInterceptor接口。

    • 增加了一个新方法,PacketPayload预处理(PacketPayload queryPacket),QueryInterceptor

    • 重命名连接属性statementInterceptorsqueryInterceptors.看到配置属性获取详细信息。

  • 添加日文整理utf8mb4字符集。

错误修复

  • X DevAPI:createView ()失败的NullPointerException当输入为空时。这个修复增加了对null的检查,并使Connector/J为它们抛出适当的错误。(错误# 25575156)

  • X DevAPI:createaTable ()失败的NullPointerException当输入为空时。这个修复增加了对null的检查,并使Connector/J为它们抛出适当的错误。(错误# 25575103)

  • X DevAPI:连接属性enabledSSLCipherSuitesclientCertificateKeyStoreUrlclientCertificateKeyStoreType,clientCertificateKeyStorePassword在使用X协议的连接中被忽略。(错误# 25494338)

  • X DevAPI:调用getNodeSession ()使用包含SSL参数的URL字符串会导致CJCommunicationsException.通过创建一个字节缓冲区来处理SSL握手数据,这个问题已经得到了解决。(注意getNodeSession ()已经合并成getSession ())(错误# 23597281)

  • X DevAPI:并发异步操作会导致挂起、空指针异常或其他意外异常。这个问题已经通过纠正一些问题得到了解决SerializingBufferWriter以及通过限制与集合写入一起发送的缓冲区数量。(错误# 23510958)

  • X DevAPI:当一个线程无法使用X协议与服务器建立连接时,客户机应用程序将挂起。一个新的连接属性,xdevapi.asyncResponseTimeout(默认值为300s),现在提供一个连接尝试超时的持续时间,超过这个时间就会抛出正确的错误。中的新选项的描述配置属性获取详细信息。(错误# 22972057)

  • 由于MySQL服务器对GIS支持的更改,Connector/J在与地理信息系统(GIS)功能相关的测试套件中失败了许多回归测试。修正了测试。(Bug #26239946, Bug #26140577)

  • 试图连接到以排序规则开始的服务器utf8mb4_de_pb_0900_ai_ci导致空指针异常。(错误# 26090721)

  • 由连接属性命名的配置模板useConfigs连接器/J无法识别。(Bug #25757019, Bug #85555)

  • 一个NullPointerException返回时获取当前日期()取得时间(),或getTimestamp ()调用null日历.此修复使Connector/J抛出SQLException异常在这个案子。(错误# 25650305)

  • 一个ArrayIndexOutOfBoundsException当使用服务器端准备语句且存在在一个文本,或JSON的类型列结果集.(Bug #25215008, Bug #84084)