Documentation Home
MySQL 连接器/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:Result接口 相关的一些方法有变化

    • getLastDocumentId()getLastDocumentIds()已被替换为getDocumentId()and getDocumentIds(),它们被置于一个AddResult扩展的新界面 下Result

    • 一个新getAutoIncrementValue()方法被添加到InsertResult扩展的新接口中Result

    有关详细信息,请参阅MySQL Connector/J X DevAPI 参考。(缺陷号 25207784)

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

  • X DevAPI: 使用 X 协议的连接现在默认是安全的。此外,xdevapi.ssl-enable连接选项已被替换为 xdevapi.ssl-mode具有 DISABLED,REQUIRED (默认)VERIFY_CA, 和 VERIFY_IDENTITY作为其允许值的选项;有关详细信息,请参阅配置属性中新选项的 说明。

  • X DevAPI:BaseSessionNodeSessionXSession 接口合并为一个 com.mysql.cj.api.xdevapi.Session接口。还进行了以下相关更改:

    • 改名XSessionFactorySessionFactory

    • AbstractSessionNodeSessionImplXSessionImplclasses 合并到 com.mysql.cj.xdevapi.SessionImplclass 中。

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

    • mysqlx.getNodeSession()方法已重命名为mysqlx.getSession(),现在返回一个Session对象。

    • DatabaseObject.getSession()方法现在返回一个Session对象(而不是旧Session接口)。

    有关详细信息,请参阅MySQL Connector/J X DevAPI 参考

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

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

    • 用接口替换 com.mysql.cj.api.jdbc.interceptors.StatementInterceptorcom.mysql.cj.api.interceptors.QueryInterceptor 接口。

    • 添加了一个新方法PacketPayload preProcess(PacketPayload queryPacket), 到 QueryInterceptor.

    • 将连接属性重命名 statementInterceptorsqueryInterceptors. 有关详细信息,请参阅 配置属性

  • utf8mb4 为字符集 添加了日语排序规则。

修正错误

  • X DevAPI: 当输入为空时createView()失败并返回 a NullPointerException此修复程序添加了对空值的检查,并使 Connector/J 为它们抛出正确的错误。(漏洞#25575156)

  • X DevAPI: 当输入为空时createaTable()失败并返回 a NullPointerException此修复程序添加了对空值的检查,并使 Connector/J 为它们抛出正确的错误。(漏洞 #25575103)

  • X DevAPI:对于使用 X 协议的连接, 连接属性 enabledSSLCipherSuitesclientCertificateKeyStoreUrlclientCertificateKeyStoreTypeclientCertificateKeyStorePassword被忽略。(缺陷号 25494338)

  • X DevAPI:getNodeSession()使用包含 SSL 参数的 URL 字符串 调用CJCommunicationsException. 这已通过创建字节缓冲区来处理 SSL 握手数据得到修复。getNodeSession()(此后已合并到通知getSession()。)(缺陷 #23597281)

  • X DevAPI: 并发异步操作导致挂起、空指针异常或其他意外异常。这已通过更正一些问题 SerializingBufferWriter并通过限制与收集写入一起发送的缓冲区数量来解决。(缺陷号 23510958)

  • X DevAPI: 当线程无法使用 X 协议连接到服务器时,客户端应用程序挂起。一个新的连接属性xdevapi.asyncResponseTimeout (默认值为 300 秒)现在提供一个持续时间,超过该持续时间尝试连接超时,然后抛出一个适当的错误。有关详细信息,请参阅配置属性中新选项 的说明。(漏洞 #22972057)

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

  • 尝试连接到使用排序规则启动的服务器会 utf8mb4_de_pb_0900_ai_ci导致空指针异常。(缺陷号 26090721)

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

  • 当使用 null 调用 ,或 时NullPointerException返回 A。此修复使 Connector/J 抛出异常 。(缺陷号 25650305)getDate()getTime()getTimestamp()CalendarSQLException

  • 当使用ArrayIndexOutOfBoundsException服务器端准备好的语句并且 中有 NULLin a BLOBTEXTJSONtype 列ResultSet时抛出 (漏洞 #25215008,漏洞 #84084)