Documentation Home
MySQL Connector/C++ Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 264.0Kb
PDF (A4) - 263.4Kb
HTML Download (TGZ) - 57.9Kb
HTML Download (Zip) - 106.6Kb


MySQL Connector/C++ Release Notes  /  Changes in MySQL Connector/C++ 8.0  /  Changes in MySQL Connector/C++ 8.0.20 (2020-04-27, General Availability)

Changes in MySQL Connector/C++ 8.0.20 (2020-04-27, General Availability)

Connection Management Notes

  • For connections made using X Plugin, Connector/C++ now provides control over the use of compression to minimize the number of bytes sent over connections to the server. Connection URIs and SessionSettings objects permit explicitly specifying a compression option:

    • URI strings permit a compression option with permitted values of DISABLED, PREFERRED, and REQUIRED (not case-sensitive). Examples:

      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 object permit a SessionOption::COMPRESSION option with permitted values of CompressionMode::DISABLED, CompressionMode::PREFERRED, and CompressionMode::REQUIRED. Example:

      mysqlx::Session sess(SessionOption::PORT, "user_name",
                           SessionOption::USER, "password",
                           SessionOption::COMPRESSION,
                           CompressionMode::PREFERRED);

    These rules apply:

    • If compression is disabled, the connection is uncompressed.

    • If compression is preferred, Connector/C++ negotiates with the server to find a compression algorithm supported in common on the server and client sides. If no common algorithm is available, the connection is uncompressed.

    • If compression is required, compression algorithm negotiation occurs as with compression preferred. If no common algorithm is available, the connection terminates with an error.

    To avoid CPU inefficiency, data packets are not compressed even when compression is enabled unless they exceed a threshold size (currently 1000 bytes; this is subject to change).

    See also Connection Compression with X Plugin.

Packaging Notes

  • Previously, Connector/C++ binary distributions were compatible with projects built using MSVC 2019 (using either dynamic or static connector libraries) or MSVC 2017 (using dynamic connector libraries only). Binary distributions now are also compatible with MSVC 2017 using the static X DevAPI connector library. This means that binary distributions are fully compatible with MSVC 2019, and fully compatible with MSVC 2017 with the exception of the static legacy (JDBC) connector library.

Bugs Fixed

  • For connections made using X Plugin, the last byte was removed from DATETIME values fetched as raw bytes. (Bug #30838230)

  • In X DevAPI expressions, Connector/C++ treated the JSON ->> operator the same as ->, rather than applying an additional JSON_UNQUOTE() operation. (Bug #29870832)

  • Comparison of JSON values from query results failed due to an extra \0 character erroneously being added to the end of such values. (Bug #29847865)

  • For connections made using X Plugin, warnings sent following result sets were not captured, and were thus unavailable to getWarnings(). (Bug #28047970)