MySQL Forums
Forum List  »  Announcements

MySQL Connector/C++ 8.0.5-dmr has been released
Posted by: Kent Boortz
Date: July 10, 2017 02:24PM

Dear MySQL users,

MySQL Connector/C++ 8.0.5-dmr is the next development milestone
release of the MySQL Connector/C++ 8.0 series (formely 2.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++ applications using X DevAPI or plain C applications using
XAPI.

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/

and "X DevAPI Reference" at

https://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html

For more information about using plain C XAPI see "XAPI 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

Connector/C++ 8.0 requires MySQL Server version 5.7.12 or higher with
X Plugin enabled. For general documentation about how to get started
using MySQL as a document store, see "Using MySQL as a Document Store"

https://dev.mysql.com/doc/refman/5.7/en/document-store.html

To download MySQL Connector/C++ 8.0.5-dmr, see the "Development
Releases" tab at

https://dev.mysql.com/downloads/connector/cpp/

Changes in MySQL Connector/C++ 8.0.5-dmr (2017-07-10, development milestone)

   MySQL Connectors and other MySQL client tools and
   applications now synchronize the first digit of their version
   number with the (highest) MySQL server version they support.

   Future MySQL Connector/C++ 8.0 releases would be designed to
   support more/all features of MySQL server version 8 (or lower).
   This change makes it easy and intuitive to decide which
   client version to use for which server version."

   Connector/C++ 8.0.5-dmr is the first release to use the new
   numbering. It is the successor to Connector/C++ 2.0.4.

   Functionality Added or Changed

     * Connector/C++ now supports MySQL servers configured to
       use utf8mb4 as the default character set.

       Currently, Connector/C++ works only with UTF-8 and ASCII
       default character sets (utf8, utf8mb4, and ascii). If a
       user creates a table with text columns that use a
       non-UTF-8 character set, and this column holds a string
       with non-ASCII characters, errors will occur for attempts
       to access that string (for example, in a query result).

       On the other hand, if strings consist only of ASCII
       characters, correct result are obtained regardless of the
       character set. Also, it is always possible to obtain the
       raw bytes of the column value, for any character set.

     * The SqlResult class now implements the
       getAffectedRowsCount() and getAutoIncrementValue()
       X DevAPI methods. (Bug #25643081)

     * To avoid unintentional changes to all items in a
       collection, the Collection::modify() and
       Collection::remove() methods now require a nonempty
       selection expression as argument.

     * For X DevAPI or XAPI, when creating a new session,
       multiple hosts can be tried until a successful connection
       is established. A list of hosts can be given in a
       connection string or as session creation options, with or
       without priorities.

       X DevAPI examples:

         Session sess(
           "mysqlx://user:password@["
             "server.example.com,"
             "192.0.2.11:33060,"
             "[2001:db8:85a3:8d3:1319:8a2e:370:7348]:1"
           "]/database"
         );

         Session sess({ SessionSettings::USER, "user",
                        SessionSettings::PWD, "password,
                        SessionSettings::HOST, "server.example.com",
                        SessionSettings::HOST, "192.0.2.11",
                        SessionSettings::PORT, 33060,
                        SessionSettings::HOST, "[2001:db8:85a3:8d3:1319:8a2e:370:7348]",
                        SessionSettings::PORT, 1,
                        SessionSettings::DB, "database" });

       XAPI examples:

         sess = mysqlx_get_session_from_url(
                 "mysqlx://user:password@["
                    "(address=127.0.0.1,priority=2),"
                    "(address=example.com:1300,priority=100)"
                 "]/database",
                 err_msg, &err_code);

         mysqlx_opt_type_t *sess_opt = mysqlx_session_option_new();
         mysqlx_session_option_set(sess_opt,
           MYSQLX_OPT_USER, "user",
           MYSQLX_OPT_PWD, "password",
           MYSQLX_OPT_HOST, "127.0.0.1",
           MYSQLX_OPT_PRIORITY, 2,
           MYSQLX_OPT_HOST, "example.com",
           MYSQLX_OPT_PORT, 1300,
           MYSQLX_OPT_PRIORITY, 100,
           MYSQLX_OPT_DB, "database");

         mysqlx_session_t *sess = mysqlx_get_session_from_options(
           sess_opt, err_buf, &err_code
         );

     * The NodeSession class has been renamed to Session, and
       the XSession class has been removed.

     * Connections created using Session objects now are secure
       by default. Also, the ssl-enabled connection option has
       been replaced by ssl-mode. Permitted ssl-mode values are
       disabled, required (the default), verify_ca and
       verify_identity.

     * Option names within connection strings are now treated as
       case insensitive. Option values are still case sensitive
       by default.

   Bugs Fixed

     * It is now possible to call stmt.execute() multiple times.
       Calling methods that modify statement parameters should
       modify the statement sent with execute(). This is also
       true for binding new values to named parameters.
       (Bug #25858159)

     * Compiler errors occurred when creating a SessionSettings
       object due to ambiguity in constructor resolution.
       (Bug #25603191)

     * collection.add() failed to compile if called with two STL
       container arguments. (Bug #25510080)

     * These expression syntaxes are now supported:

         CHARSET(CHAR(X'65'))
         'abc' NOT LIKE 'ABC1'
         'a' RLIKE '^[a-d]'
         'a' REGEXP '^[a-d]'
         POSITION('bar' IN 'foobarbar')

       These expression syntaxes are not supported but a better
       error message is provided when they are used:

         CHARSET(CHAR(X'65' USING utf8))
         TRIM(BOTH 'x' FROM 'xxxbarxxx')
         TRIM(LEADING 'x' FROM 'xxxbarxxx')
         TRIM(TRAILING 'xyz' FROM 'barxxyz')
         'Heoko' SOUNDS LIKE 'h1aso'

       (Bug #25505482)
On Behalf of the MySQL/Oracle Release Engineering Team,
Kent Boortz

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Connector/C++ 8.0.5-dmr has been released
1465
July 10, 2017 02:24PM


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.