Web lists-archives.com

MySQL Connector/C++ 8.0.12 has been released





Dear MySQL users,

MySQL Connector/C++ 8.0.12 is the second GA release version of the MySQL
Connector/C++ 8.0 series.

Connector/C++ 8.0 can be used to access MySQL implementing Document
Store or in a traditional way, using SQL queries. It allows writing
both C++ and plain C applications using X DevAPI and X DevAPI for C.
It also supports the legacy API of Connector/C++ 1.1 based on JDBC4.

To learn more about how to write applications using X DevAPI, see "X
DevAPI User Guide"

https://dev.mysql.com/doc/x-devapi-userguide/en/

See also "X DevAPI Reference" at

https://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html

and "X DevAPI for C Reference" at

https://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html

For generic information on using Connector/C++ 8.0, see

https://dev.mysql.com/doc/dev/connector-cpp/

Note: For X DevAPI applications, Connector/C++ 8.0 requires
MySQL Server 5.7.12 or higher with X Plugin enabled. For applications
that use the legacy JDBC API, Connector/C++ 8.0 can use MySQL Server 5.5
or higher, and X Plugin is not required.

https://dev.mysql.com/doc/refman/5.7/en/document-store.html

To download MySQL Connector/C++ 8.0.12, see the "Generally Available (GA)
Releases" tab at

https://dev.mysql.com/downloads/connector/cpp/


Changes in MySQL Connector/C++ 8.0.12 (2018-07-27, General Availability)

     * Installation Notes

     * Packaging Notes

     * Security Notes

     * X DevAPI Notes

     * Bugs Fixed

Installation Notes


     * Because the Microsoft Visual C++ 2017 Redistributable
       installer deletes the Microsoft Visual C++ 2015
       Redistributable registry keys that identify its
       installation, standalone MySQL MSIs may fail to detect
       the Microsoft Visual C++ 2015 Redistributable if both it
       and the Microsoft Visual C++ 2017 Redistributable are
       installed. The solution is to repair the Microsoft Visual
       C++ 2017 Redistributable via the Windows Control Panel to
       recreate the registry keys needed for the runtime
       detection. Unlike the standalone MSIs, MySQL Installer
       for Windows contains a workaround for the detection
       problem.

Packaging Notes


     * An RPM package for installing ARM 64-bit (aarch64)
       binaries of Connector/C++ on Oracle Linux 7 is now
       available in the MySQL Yum Repository and for direct
       download.
       Known Limitation for this ARM release: You must enable
       the Oracle Linux 7 Software Collections Repository
       (ol7_software_collections) to install this package, and
       must also adjust the libstdc++7 path. See Yum's Platform
       Specific Notes
(http://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-install-platform-specifics)
       for additional details.

     * Installers for Connector/C++ are now available in these
       formats: MSI packages (Windows); RPM packages (Linux);
       DMG packages (macOS).

Security Notes


     * yaSSL is no longer included in Connector/C++ source
       distributions. wolfSSL may be used as a functionally
       equivalent alternative that has a GPLv2-compatible
       license. In addition, wolfSSL (like OpenSSL) supports the
       TLSv1.2 protocol, which yaSSL does not.
       To build Connector/C++ using wolfSSL, use the
       -DWITH_SSL=path_name CMake option, where path_name
       indicates the location of the wolfSSL sources. For more
       information, see Source Installation System Prerequisites
(http://dev.mysql.com/doc/connector-cpp/8.0/en/connector-cpp-installation-source-prerequisites.html),
       and Connector/C++ Source-Configuration Options
(http://dev.mysql.com/doc/connector-cpp/8.0/en/connector-cpp-source-configuration-options.html).

X DevAPI Notes


     * Connector/C++ now supports NOWAIT and SKIP LOCKED lock
       contention modes to be used with lockExclusive() and
       lockShared() clauses of CRUD find/select operations (see
       Locking Read Concurrency with NOWAIT and SKIP LOCKED
(http://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html#innodb-locking-reads-nowait-skip-locked)),
       and a default lock contention mode. The following list names
       the permitted constants. For each item, the first and
       second constants apply to X DevAPI and X DevAPI for C,
       respectively.

          + LockContention::DEFAULT, LOCK_CONTENTION_DEFAULT:
            Block the query until existing row locks are
            released.

          + LockContention::NOWAIT, LOCK_CONTENTION_NOWAIT:
            Return an error if the lock cannot be obtained
            immediately.

          + LockContention::SKIP_LOCKED,
            LOCK_CONTENTION_SKIP_LOCKED: Execute the query
            immediately, excluding from the query items that are
            locked.
       For X DevAPI and X DevAPI for C applications, lock mode
       methods accept these lock contention constants as a
       parameter. For X DevAPI applications, lock mode methods
       can be called without this parameter, as before; this is
       equivalent to passing a lock mode of DEFAULT.

     * Connector/C++ now supports the SHA256_MEMORY
       authentication mechanism for connections using the X
       Protocol. For X DevAPI applications, SessionOption::AUTH
       supports the new value AuthMethod::SHA256_MEMORY. For X
       DevAPI for C applications, the session option
       MYSQLX_OPT_AUTH supports the new value
       MYSQLX_AUTH_SHA256_MEMORY. These new values request using
       the sha256_memory authentication mechanism when creating
       a session.

     * For compliance with the Core DevAPI, these Connector/C++
       changes were made:

          + getAffectedItemsCount() was moved from Result to
            Result_common.

          + Collection.modify(condition).arrayDelete() was
            removed.

          + getAffectedRowsCount() was removed. Use
            getAffectedItemsCount() instead.

          + getWarningCount() was renamed to getWarningsCount().

Bugs Fixed


     * utf8mb4 character data was handled incorrectly. (Bug
       #28240202)

     * Session creation had a memory leak. (Bug #27917942)

     * When configuring to build Connector/C++ with the legacy
       connector, CMake did not account for the
       MYSQL_CONFIG_EXECUTABLE option. (Bug #27874173, Bug
       #90389)

     * Improper error handling for unknown hosts when creating a
       session could result in unexpected application exit. (Bug
       #27868302)

     * The mysqlx_row_fetch_one() X DevAPI for C function could
       fail to return for large result set exceeding the maximum
       packet size. Now such result sets produce an error. (Bug
       #27732224)

Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,Balasubramanian Kandasamy