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