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!
MySQL Connector/C++ 8.0.17 has been released
Search
Categories
- Backup (3)
- Character Sets (16)
- Connectors / Languages (14)
- Data Dictionary (11)
- Document Store, JSON (32)
- GIS (15)
- High Availability / Replication (182)
- InnoDB (57)
- Miscellaneous (84)
- Monitoring (18)
- NDB (73)
- Optimizer (56)
- Performance (5)
- Router (4)
- Security (62)
- Shell (30)
- Thread Pool (1)
- Upgrading (15)
- Windows / .NET (21)
- Workbench (46)