For MySQL Connector/C++ 8.0.11 and higher, Commercial and Community distributions require the Visual C++ Redistributable for Visual Studio 2015 to work on Windows platforms. The Redistributable is available at the Microsoft Download Center; install it before installing Connector/C++.
-
Incompatible Change: When documents without an
_idattribute are added to a collection, the server now automatically generates IDs for them. The server determines the ID format, which should be considered opaque from the API perspective (they are no longer UUID-based). As before, no_idattribute is generated if a document already contains one. User-provided document IDs must not conflict with IDs of other documents in the collection.This capability requires a MySQL 8.0 GA server. If the server does not support document ID generation, the document-add operation returns an error indicating that document IDs were missing.
For X DevAPI, the generated IDs resulting from a document-add operation can be obtained using the new
Result.getGeneratedIds()method, which returns a list. For X DevAPI for C, the generated IDs can be obtained using the newmysqlx_fetch_generated_id()function, which returns IDs one by one for successive calls, until it returnsNULLto indicate no more generated IDs are available. For both X DevAPI and X DevAPI for C, document IDs specified explicitly in added documents are not returned.Incompatibility: The
getGeneratedIds()method replacesgetDocumentId()andgetDocumentIds(), which are now removed. Themysqlx_fetch_generated_id()function replacesmysqlx_fetch_doc_id(), which is now removed.For more information, see Working with Document IDs. (WL #11450)
-
A patch operation has been implemented that enables specifying a JSON-like object that describes the changes to apply to documents in a collection.
For X DevAPI, the
CollectionModifyoperation supports a newpatch()clause for patching documents. For X DevAPI for C, there are two new functions:mysqlx_collection_modify_patch()directly executes patching on documents in a collection that satisfy given criteria.mysqlx_set_modify_patch()adds a patch operation to a modify statement created with themysql_collection_modify_new()function. (WL #11205) For connections to the server made using the legacy JDBC API (that is, not made using X DevAPI or X DevAPI for C), Connector/C++ 8.0 now supports an
OPT_GET_SERVER_PUBLIC_KEYconnection option that enables requesting the RSA public key from the server. For accounts that use thecaching_sha2_passwordorsha256_passwordauthentication plugin, this key can be used during the connection process for RSA key-pair based password exchange with TLS disabled. This capability requires a MySQL 8.0 GA server, and is supported only for Connector/C++ built using OpenSSL. (WL #11719)
Single-document methods such as
Collection.replaceOne()did not acceptexpr()as the document specification, but instead treated it as a plain JSON string. (Bug #27677910)Compiling X DevAPI and X DevAPI for C test programs failed with an error. (Bug #27610760)
Connecting with an incorrect
SSL_CAvalue could result in a memory leak. (Bug #27434254)For debug builds, specifying a document as
_idraised an assertion rather than producing an error. (Bug #27433969)