Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 8.0 中的更改  /  MySQL Connector/C++ 8.0.20 的变化(2020-04-27,正式发布)

MySQL Connector/C++ 8.0.20 的变化(2020-04-27,正式发布)

连接管理说明

  • 对于使用 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
    • SessionSettingsobjects 允许 SessionOption::COMPRESSION带有允许值 CompressionMode::DISABLEDCompressionMode::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)