MySQL Blog Archive
For the latest blogs go to blogs.oracle.com/mysql
MySQL Connector/C++ 8.0.14 has been released

Dear MySQL users,

MySQL Connector/C++ 8.0.14 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.14, see the “Generally Available (GA) Releases” tab at

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

Changes in MySQL Connector/C++ 8.0.14 (2019-01-14)

     * Packaging Notes

     * X DevAPI Notes

Configuration Notes

     * These CMake options have been added to enable more
       fine-grained specification of installation directories.
       All are relative to CMAKE_INSTALL_PREFIX:

          + CMAKE_INSTALL_LIBDIR: Library installation
            directory.

          + CMAKE_INSTALL_INCLUDEDIR: Header file installation
            directory.

          + CMAKE_INSTALL_DOCDIR: Documentation installation
            directory.

       (Bug #28045358)

Packaging Notes

     * Previously, MySQL Connector/C++ binary distributions
       included a BUILDINFO.txt file that contained information
       about the build environment used to produce the
       distribution. Binary distributions now include a file
       named INFO_BIN that provides similar information, and an
       INFO_SRC file that provides information about the product
       version and the source repository from which the
       distribution was produced. Source distributions include
       the INFO_SRC file only.

     * MySQL Connector/C++ now is compatible with MSVC 2017,
       while retaining compatibility with MSVC 2015:

          + Previously, Connector/C++ binary distributions were
            compatible with projects built using MSVC 2015.
            Binary distributions now are compatible with
            projects built using MSVC 2017 or 2015. DLLs have a
            -vs14 suffix in their names to reflect that they are
            compatible with MSVC 2015, but can also be used in
            MSVC 2017 projects.

          + Previously, Connector/C++ source distributions could
            be built using MSVC 2015. Source distributions now
            can be built using MSVC 2017 or 2015.

          + Previously, the MSI installer accepted the Visual
            C++ Redistributable for Visual Studio 2015. The MSI
            installer now accepts the Visual C++ Redistributable
            for Visual Studio 2017 or 2015.

     * Installers for Connector/C++ are now available as Debian
       packages. See Installing Connector/C++ from a Binary Distribution
       (http://dev.mysql.com/doc/connector-cpp/8.0/en/connector-cpp-installation-binary.html).

X DevAPI Notes

     * Connector/C++ now provides collection counting methods
       for applications that use X DevAPI for C:

          + mysqlx_collection_count(): The number of documents
            in a collection without filtering.

              mysqlx_collection_t *c1 = mysqlx_get_collection(schema, "c1", 1);
              ulong64_t documents;
              mysqlx_collection_count(c1, &documents);

          + mysqlx_table_count(): The number of rows in a table
            without filtering.

              mysqlx_table_t *t1 = mysqlx_get_table(schema, "t1", 1);
              ulong64_t rows;
              mysqlx_table_count(t1, &rows);

          + mysqlx_get_count(): The number of remaining cached
            rows held at the moment. After a row is consumed by
            a fetch function, the number of cached rows
            decreases.

              mysqlx_stmt_t *stmt = mysqlx_sql_new(session, query, strlen(query));
              mysqlx_result_t *res = mysqlx_execute(stmt);

              ulong64_t row_count;
              mysqlx_get_count(res, &row_count);

            mysqlx_get_count() is similar in all respects to
            mysqlx_store_result() except that the behavior
            differs after fetching rows when reaching zero
            number of rows in the cache:

               o mysqlx_get_count() returns zero through the
                 parameter and finishes with RESULT_OK.

               o mysqlx_store_result() does not return anything
                 through the parameter (which remains unchanged)
                 and finishes with RESULT_ERROR.

Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,
Kent Boortz