-
对于使用 X 插件建立的连接,Connector/C++ 现在提供对压缩使用的控制,以最大限度地减少通过连接发送到服务器的字节数。连接 URI 和
SessionSettings
对象允许明确指定压缩选项:-
URI 字符串允许一个
compression
选项,其允许值为DISABLED
,PREFERRED
, 和REQUIRED
(不区分大小写)。例子:mysqlx://user:password@host:port/db?compression=DISABLED mysqlx://user:password@host:port/db?compression=PREFERRED mysqlx://user:password@host:port/db?compression=REQUIRED
-
SessionSettings
objects 允许SessionOption::COMPRESSION
带有允许值CompressionMode::DISABLED
、CompressionMode::PREFERRED
和 的选项CompressionMode::REQUIRED
。例子:mysqlx::Session sess(SessionOption::USER, "user_name", SessionOption::PWD, "password", SessionOption::COMPRESSION, CompressionMode::PREFERRED);
这些规则适用:
如果禁用压缩,则连接未压缩。
如果首选压缩,Connector/C++ 和服务器协商以找到它们都允许的压缩算法。如果没有通用算法可用,则连接未压缩。如果没有明确指定,这是默认模式。
如果需要压缩,压缩算法协商将作为首选模式进行,但如果没有可用的通用算法,连接请求将因错误而终止。
为避免 CPU 效率低下,即使启用压缩也不会压缩数据包,除非它们超过阈值大小(当前为 1000 字节;这可能会发生变化)。
另请参阅使用 X 插件进行连接压缩。
-
以前,Connector/C++ 二进制发行版与使用 MSVC 2019(使用动态或静态连接器库)或 MSVC 2017(仅使用动态连接器库)构建的项目兼容。二进制发行版现在也与使用静态 X DevAPI 连接器库的 MSVC 2017 兼容。这意味着二进制分发版与 MSVC 2019 完全兼容,并且与 MSVC 2017 完全兼容,静态遗留 (JDBC) 连接器库除外。
对于使用 X 插件建立的连接,最后一个字节已从
DATETIME
作为原始字节获取的值中删除。(缺陷号 30838230)在 X DevAPI 表达式中,Connector/C++ 将 JSON
->>
运算符视为与 相同->
,而不是应用额外的JSON_UNQUOTE()
操作。(缺陷号 29870832)JSON
由于错误地将额外\0
字符添加到此类值的末尾,查询结果 中的值比较失败。(漏洞#29847865)对于使用 X 插件建立的连接,在结果集之后发送的警告未被捕获,因此无法用于
getWarnings()
. (缺陷号 28047970)