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
↧
MySQL Connector/C++ 8.0.17 has been released (no replies)
↧