MySQL 连接器和其他 MySQL 客户端工具和应用程序现在将其版本号的第一位数字与其支持的(最高)MySQL 服务器版本同步。此更改使得决定将哪个客户端版本用于哪个服务器版本变得简单直观。
Connector/J 8.0.7 是第一个使用新编号的版本。它是 Connector/J 6.0.6 的后续版本。
-
X DevAPI:
Result
接口 相关的一些方法有变化getLastDocumentId()
并getLastDocumentIds()
已被替换为getDocumentId()
andgetDocumentIds()
,它们被置于一个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: 将
BaseSession
、NodeSession
和XSession
接口合并为一个com.mysql.cj.api.xdevapi.Session
接口。还进行了以下相关更改:改名
XSessionFactory
为SessionFactory
。将
AbstractSession
、NodeSessionImpl
和XSessionImpl
classes 合并到com.mysql.cj.xdevapi.SessionImpl
class 中。删除了
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.StatementInterceptor
了com.mysql.cj.api.interceptors.QueryInterceptor
接口。添加了一个新方法
PacketPayload preProcess(PacketPayload queryPacket)
, 到QueryInterceptor
.将连接属性重命名
statementInterceptors
为queryInterceptors
. 有关详细信息,请参阅 配置属性 。
utf8mb4
为字符集 添加了日语排序规则。
X DevAPI: 当输入为空时
createView()
失败并返回 aNullPointerException
此修复程序添加了对空值的检查,并使 Connector/J 为它们抛出正确的错误。(漏洞#25575156)X DevAPI: 当输入为空时
createaTable()
失败并返回 aNullPointerException
此修复程序添加了对空值的检查,并使 Connector/J 为它们抛出正确的错误。(漏洞 #25575103)X DevAPI:对于使用 X 协议的连接, 连接属性
enabledSSLCipherSuites
、clientCertificateKeyStoreUrl
、clientCertificateKeyStoreType
和clientCertificateKeyStorePassword
被忽略。(缺陷号 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)useConfigs
Connector/J 无法识别由 连接属性命名的配置模板 。(漏洞 #25757019,漏洞 #85555)当使用 null 调用 ,或 时
NullPointerException
返回 A。此修复使 Connector/J 抛出异常 。(缺陷号 25650305)getDate()
getTime()
getTimestamp()
Calendar
SQLException
当使用
ArrayIndexOutOfBoundsException
服务器端准备好的语句并且 中有NULL
in aBLOB
、TEXT
或JSON
type 列ResultSet
时抛出 (漏洞 #25215008,漏洞 #84084)