MySQL Connector/C++ 8.0.17 has been released
Posted by: Piotr Obrzut
Date: July 22, 2019 08:33AM
Date: July 22, 2019 08:33AM
Dear MySQL users, MySQL Connector/C++ 8.0.17 is a new 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" at 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/ For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/8.0/en/document-store.html To download MySQL Connector/C++ 8.0.17, see the "Generally Available (GA) Releases" tab at https://dev.mysql.com/downloads/connector/cpp/ ================================================== Changes in MySQL Connector/C++ 8.0.17 (2019-07-22, General Availability) * Character Set Support * Compilation Notes * Configuration Notes * Function and Operator Notes * X DevAPI Notes * Functionality Added or Changed * Bugs Fixed Character Set Support * Connector/C++ now supports the new utf8mb4_0900_bin collation added for the utf8mb4 Unicode character set in MySQL 8.0.17. For more information about this collation, see Unicode Character Sets (https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html). Compilation Notes * Connector/C++ now compiles cleanly using the C++14 compiler. This includes MSVC 2017. Binary distributions from Oracle are still built in C++11 mode using MSVC 2015 for compatibility reasons. Configuration Notes * The maximum permitted length of host names throughout Connector/C++ has been raised to 255 ASCII characters, up from the previous limit of 60 characters. Applications that expect host names to be a maximum of 60 characters should be adjusted to account for this change. Function and Operator Notes * Connector/C++ now supports the OVERLAPS and NOT OVERLAPS operators for expressions on JSON arrays or objects: expr OVERLAPS expr expr NOT OVERLAPS expr Suppose that a collection has these contents: [{ "_id": "1", "list": [1, 4] }, { "_id": "2", "list": [4, 7] }] This operation: auto res = collection.find("[1, 2, 3] OVERLAPS $.list").fields("_id"). execute(); res.fetchAll(); Should return: [{ "_id": "1" }] This operation: auto res = collection.find("$.list OVERLAPS [4]").fields("_id").execut e(); res.fetchAll(); Should return: [{ "_id": "1" }, { "_id": "2" }] An error occurs if an application uses either operator and the server does not support it. X DevAPI Notes * For index specifications passed to the Collection::createIndex() method (for X DevAPI applications) or the mysqlx_collection_create_index() function (for X DevAPI for C applications), Connector/C++ now supports indexing array fields. A single index field description can contain a new member name array that takes a Boolean value. If set to true, the field is assumed to contain arrays of elements of the given type. For example: coll.createIndex("idx", R"({ "fields": [{ "field": "foo", "type": "INT", "array": true }] }) " ); In addition, the set of possible index field data types (used as values of member type in index field descriptions) is extended with type CHAR(N), where the length N is mandatory. For example: coll.createIndex("idx", R"({ "fields": [{ "field": "foo", "type": "CHAR(10)" }] })" ); Functionality Added or Changed * Previously, Connector/C++ reported INT in result set metadata for all integer result set columns, which required applications to check column lengths to determine particular integer types. The metadata now reports the more-specific TINYINT, SMALLINT, MEDIUMINT, INT, and or BIGINT types for integer columns. (Bug #29525077) Bugs Fixed * Calling a method such as .fields() or .sort() on existing objects did not overwrite the effects of any previous call. (Bug #29402358) * When Connector/C++ applications reported connection attributes to the server upon establishing a new connection, some attributes were taken from the host on which Connector/C++ was built, not the host on which the application was being run. Now application host attributes are sent. (Bug #29394723) * Assignments of the following form on CollectionFind objects invoked a copy assignment operator, which was nonoptimal and prevented potential re-execution of statements using prepared statements: find = find.limit(1); (Bug #29390170) * Legal constructs of this form failed to compile: for (string id : res.getGeneratedIds()) { ... } (Bug #29355100) * During build configuration, CMake could report an incorrect OpenSSL version. (Bug #29282948) Enjoy and thanks for the support! On Behalf of Oracle/MySQL Release Engineering Team, Piotr Obrzut
Subject
Views
Written By
Posted
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.