All pages
Powered by GitBook
1 of 16

Connector/C++

Release Notes for the C++ Connector

Connector/C++ 1.0 Release Notes

Release Notes for MariaDB C++ Connector 1.0 releases

Connector/C++ 1.0.0 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2021-03-18

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.1.11.

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.0.1 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2021-06-17

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.1.13.

Notable Changes

  • Adds useCharacterEncoding connection string option to control the character set used for connection, input, and results. Includes OPT_SET_CHARSET_NAME and useCharset aliases for compatibility. (CONCPP-78)

  • Adds credentialType connection string option to set the default client-side authentication plugin, similar to MYSQL_DEFAULT_AUTH in MariaDB Connector/C. Includes defaultAuth alias for compatibility. (CONCPP-84)

Issues Fixed

  • Metadata retrieved from mysql.proc instead of using the Information Schema. (CONCPP-69)

  • CMake generates an error on nesting of flow control statements. (CONCPP-79)

  • CMake fails when called without the -DWITH_SSL=OpenSSL option. (CONCPP-80)

  • Sub-directory install paths include a dot (./) directory, which is not correct. (CONCPP-81)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.0.2 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2022-10-11

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.3.2.

Notable Changes

  • Added support of two optimized modes of executeBatch/executeLargeBatch PreparedStatement methods execution: (CONCPP-106)

    • rewriteBatchedStatements connection option

    • useBulkStmts connection option

rewriteBatchedStatements

  • When using the rewriteBatchedStatements connection option, for INSERT queries the connector will construct a single query using batch parameter sets. For example:

INSERT INTO ab (i) VALUES (?) with first batch values = 1, second = 2

will be rewritten as:

INSERT INTO ab (i) VALUES (1), (2)

If the query cannot be rewritten in multi-values, the rewriteBatchedStatements connection option will use multi-queries. For example:

INSERT INTO ab(col1) VALUES (?) ON DUPLICATE KEY UPDATE col2=? WITH VALUES [1,2] AND [2,3]

will be rewritten as:

INSERT INTO ab(col1) VALUES (1) ON DUPLICATE KEY UPDATE col2=2;INSERT INTO TABLE(col1) VALUES (3) ON DUPLICATE KEY UPDATE col2=4
  • If the rewriteBatchedStatements connection option is selected, the useServerPrepStmts option is set to false.

  • If both rewriteBatchedStatements and useBulkStmts options are selected, rewriteBatchedStatements takes precedence.

useBulkStmts

  • The useBulkStmts connection option uses the MariaDB bulk execution feature, so it requires MariaDB Server 10.2.7 or later. useBulkStmts will be used even if useServerPrepStmts is not set, in other words, if the default statement prepare method is client-side prepare.

  • If both useBulkStmts and rewriteBatchedStatements options are selected, rewriteBatchedStatements takes precedence.

Issues Fixed

  • Attempting connections from multiple threads causes the connector to crash. (CONCPP-105)

  • PreparedStatement setDouble only processes the first 6 significant digits and zeros any additional digits. (CONCPP-96)

  • Result-set streaming is not supported in this release series, but setting setFetchSize does not throw an exception and can cause the application to crash.

    • Starting with this release, setting setFetchSize will throw SQLFeatureNotImplementedException at the attempt to set fetch size >0 (CONCPP-107)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.0.3 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2024-01-08

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.3.8.

Notable Changes

  • A new static Connector/C++ library mariadbcpp-static.(lib|a) is included in the release packages.

    • Symlink libmariadbcpp.a is created on platforms other than Windows

    • To link against the static library MARIADB_STATIC_LINK needs to be defined during compilation. (CONCPP-117)

  • Added support of connection attributes (CONCPP-112)

    • Attributes can be defined in the URL or in properties under the name connectionAttributes in the format

connectionAttributes=attr1:value1,attr2:value2
  • New option WITH_UNIT_TESTS to allow building the connector with or without tests (CONCPP-102)

    • New option BUILD_TESTS_ONLY can be used to only generate test projects

  • Packages for Red Hat (rpm) and Debian/Ubuntu (deb) added

Issues Fixed

  • Possible crash during execution when a parameter is set with setByte (CONCPP-116)

  • Minor issues related to compilation of the connector, like errors/warnings when enabling more compiler warnings (CONCPP-18) (CONCPP-110)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.0.4 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2024-10-21

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see the MariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.3.11.

Bugs Fixed

getMoreResults() may pick other statement result if the first statement used text protocol (CONCPP-132)

Driver fails to cache multiple results in case other query requires the connection and that will cause "commands out of sync" errors (CONCPP-133)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.0.5 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 14 Mar 2025

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.3.14.

Notable Changes

  • CONCPP-138 - The Driver now always cache all binary results to avoid access violation error while using result-set created with server prepared statements after the connection object has been closed

  • CONCPP-140 - reconnect and reset methods in the Connection interface are deprecated

  • CONCPP-141 - if trustServerCertificate is true(this is default) the connector will explicitly disable certificate verification. This enables work of the connector with Connector/C v.3.4 for unencrypted connection on the platforms there Connector/C is linked dynamically. Setting the option to false enables certificate verification.

  • Fixed possible crash in case of use of setBytes() method if passed sql::bytes object did not own the bytes array, but referenced C array

Bugs Fixed

  • CONCPP-134 - Removed volatile deprecation build warnings

  • CONCPP-136 - With default settings the driver uses slowest possible batch executing method

  • CONCPP-137 - Inconsistent types naming of the names returned by ResultSetMetaData::getColumnTypeName()

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1 Release Notes

Release Notes for MariaDB C++ Connector 1.1 releases

Connector/C++ 1.1.0 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ 1.1.0 was released on 2021-08-06. This release is of Beta maturity, and should not be used with production workloads.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on Connector/C 3.2.3.

Notable Changes

  • The default connection character set is utf8mb4. (CONCPP-91)

  • Re-execution or destruction on any type of statement object closes all of its result-sets. (CONCPP-88)

  • ResultSet streaming is supported. The defaultFetchSize connection option sets the default number of rows in a result-sets retrieved at a time. The setFetchSize statement method sets number of rows for the statement. (CONCPP-72)

Notable API Changes

  • ResultSet get methods are const (CONCPP-86)

  • sql::Properties class passed to connect methods is a class defined in the library. DatabaseMetaData::getTables accepts the sql::List class object. Methods still accept std::map and std::list objects. (CONCPP-83)

  • SQLString class supports find methods. (CONCPP-90)

  • Properties parameters to connect methods are const (CONCPP-82)

  • SQLString constructor from std::string is not exported on Windows. (CONCPP-85)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1.1 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J. This is the second Beta release of MariaDB Connector/C++.

MariaDB Connector/C++ 1.1.1 was released on 2022-03-04. This release is of Beta maturity, and should not be used with production workloads.

MariaDB Connector/C++ in its current implementation uses the MariaDB protocol via the MariaDB Connector/C API. Connector/C 3.3.0 is used in this release.

Notable Changes

  • MariaDB Connector/C++ 1.1.1 adds the ability to create a connection pool to improve usage of resources and to provide a faster way to connect to the server. (CONCPP-2)

    • The new class MariaDbDataSource has been added to enable creating a connection pool. The pool is created when MariaDbDataSource::getConnection is called the first time. Example:

sql::mariadb::MariaDbDataSource ds("jdbc:mariadb://localhost:3306/db?minPoolSize=2&maxPoolSize=8&maxIdleTime=900&poolValidMinDelay=2000");
ds.setUser("root");
ds.setPassword("myPassword");
// connect to server using the credentials from the pool
std::unique_ptr<sql::Connection> conn1(ds.getConnection());
std::unique_ptr<sql::Connection> conn2(ds.getConnection());
  • Default for option useResetConnection has been changed from false to true. The change of default to true means the Connection::reset() method issues a connection reset command at the server by default. Previous default value of false meant Connection::reset() did a "soft reset" and set only certain system variables and connection parameters according to the connection properties.

  • New connection properties have been added to configure the pool:

Property
Description

minPoolSize

The minimum number of connections to be kept in the pool (defaults to maxPoolSize value)

maxPoolSize

The maximum number of physical connections that the pool can contain (defaults to 8)

maxIdleTime

The maximum amount of time in seconds that connections above minPoolSize can stay in the pool if not used. This value must always be at least 45 seconds lower than the @wait_timeout value. Default: 600 in seconds(=10 minutes), minimum value is 60 seconds

poolValidMinDelay

The period of time in milliseconds after returning a connection to the pool, during which the connection is considered to be good and does not require validation on return to the application. 0 means validation is done each time the connection is requested (defaults to 1000)

  • New node failover support. (CONCPP-4) An application can supply more than one host to use for connection. An individual port number can be specified for each host:

sql::SQLString
failoverUrl("jdbc:mariadb:sequential://localhost:3306,failoverhost1.com,[::1]:3307,failoverhost2.com:3307/db?user=root&password=someSecretWord");
std::unique_ptr<Connection> conn(DriverManager::getConnection(failoverUrl));

MariaDB Connector/C++ 1.1 will always try to connect to the first host in the list. Other hosts in the list will be used if a tried host cannot be reached.

  • LOAD DATA LOCAL INFILE is not allowed by default. It can be switched on by using the allowLocalInfile property. (CONCPP-93), (CONCPP-94)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1.2 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J. This is the first release candidate (RC) release of MariaDB Connector/C++ 1.1.

MariaDB Connector/C++ 1.1.2 was released on 2022-11-30. This release is of Release Candidate (RC) maturity, and should not be used with production workloads.

MariaDB Connector/C++ in its current implementation uses the MariaDB protocol via the MariaDB Connector/C API. Connector/C 3.3.0 is used in this release.

Notable Changes

  • Added macOS PKG packages.

  • Added support of two optimized modes of executeBatch/executeLargeBatch PreparedStatement methods execution: (CONCPP-106)

    • rewriteBatchedStatements connection option

    • useBulkStmts connection option

rewriteBatchedStatements

  • When using the rewriteBatchedStatements connection option, for INSERT queries the connector will construct a single query using batch parameter sets. For example:

INSERT INTO ab (i) VALUES (?) with first batch values = 1, second = 2

will be rewritten as:

INSERT INTO ab (i) VALUES (1), (2)

If the query cannot be rewritten in multi-values, the rewriteBatchedStatements connection option will use multi-queries. For example:

INSERT INTO ab(col1) VALUES (?) ON DUPLICATE KEY UPDATE col2=? WITH VALUES [1,2] AND [2,3]

will be rewritten as:

INSERT INTO ab(col1) VALUES (1) ON DUPLICATE KEY UPDATE col2=2;INSERT INTO TABLE(col1) VALUES (3) ON DUPLICATE KEY UPDATE col2=4
  • If the rewriteBatchedStatements connection option is selected, the useServerPrepStmts option is set to false.

  • If both rewriteBatchedStatements and useBulkStmts options are selected, rewriteBatchedStatements takes precedence.

useBulkStmts

  • The useBulkStmts connection option uses the MariaDB bulk execution feature, so it requires MariaDB Server 10.2.7 or later. useBulkStmts will be used even if useServerPrepStmts is not set, in other words, if the default statement prepare method is client-side prepare.

  • If both useBulkStmts and rewriteBatchedStatements options are selected, rewriteBatchedStatements takes precedence.

Issues Fixed

  • Attempting connections from multiple threads causes the connector to crash. (CONCPP-105)

  • PreparedStatement setDouble only processes the first 6 significant digits and zeros any additional digits. (CONCPP-96)

  • Result-set streaming is not supported in this release series, but setting setFetchSize does not throw an exception and can cause the application to crash.

    • Starting with this release, setting setFetchSize will throw SQLFeatureNotImplementedException at the attempt to set fetch size >0 (CONCPP-107)

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1.3 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2024-02-21

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/JDBC. This is the first GA release of the MariaDB Connector/C++ 1.1 series.

MariaDB Connector/C++ in its current implementation uses the MariaDB protocol via the MariaDB Connector/C API. Connector/C 3.3.3 is used in this release.

Notable Changes

  • Added new Prepared Statement Cache (CONCPP-111)

    • The cache can be enabled by the cachePrepStmts = on option when the useServerPrepStmts = on option is also used. The use of cache is controlled by following connection properties:

      • cachePrepStmts enables/disables use of cache, by default is false

      • prepStmtCacheSize sets the size of cache, by default 250

      • prepStmtCacheSqlLimit limits the maximum size of the query, that may be cached. Default is 2048. This value consists of length of query itself + length of schema name + 1

  • Added Connector Level Logging Functionality to C/C++ (CONCPP-123)

    • Logging can be enabled for errors, warnings, debug information, and tracing. It is controlled by the following 2 connection properties:

      • log non-zero value turns on logging and determines logging level. 1 = error, 2 = warning, 3 = info, 4 = debug, and 5 = trace

      • logname The name of file to write the log in. If logname set, and log is not, log will be set to 1(error). Default name is mariadbccpp.log, and it's written to %TEMP% or %USERPROFILE% or current dir on Windows, and in $HOME or in /tmp on other systems. Logging is synchronized between threads, but not between processes.

  • Packages for Red Hat (rpm) and Debian/Ubuntu (deb) added

Issues Fixed

  • Calling close() on the Connection object causes closing of all Statement objects created on this connection (CONCPP-119)

  • If connection is obtained from the pool with wrong credentials, the exception is not thrown right away (CONCPP-97)

  • Connection pool would leak some memory on idle item removal from the pool (CONCPP-118)

  • If pool is used connectTimeout is not respected is some cases (CONCPP-120)

  • Connection returned from the pool may be marked and behave as closed (CONCPP-121)

  • Crashes in pool because of incorrect synchronization (CONCPP-122)

Installation

  • Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1.4 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2024-06-07

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

This is a GA release of the MariaDB Connector/C++ 1.1 series, the interface between C++ applications, and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/JDBC.

MariaDB Connector/C++ in its current implementation uses the MariaDB protocol via the MariaDB Connector/C API. Connector/C 3.3.10 is used in this release.

Notable Changes

  • The false or nullptr value used for boolean connection property initialization is now treated as false. It used to end up as true because SQLString makes an empty string out of nullptr, which is rendered true for the connection property. This fix introduced a 3rd state for the SQLString, NULL, and makes such a string as a value option to be treated as false. However, the NULL string will still have an empty string value in different string operations. Setting or changing its value does not make the string NULL. This "Nulliness" is still intended mainly for the driver's internal use and is designed to not change anything for applications. Though when exposed to application comparison operators, such as == and !=, they will consider the NULL state of the SQLString object if compared with nullptr. (CONCPP-130)

Bugs Fixed

  • Newly introduced and referenced header files were missing in the MSI package (CONCPP-129)

Installation

  • Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1.5 Release Notes

The most recent Stable (GA) release of MariaDB Connector/C++ is:MariaDB Connector/C++ 1.1.6

Download Now

Release date: 2024-08-27

This is a Stable (GA) release of MariaDB Connector/C++.

This is a GA release of the MariaDB Connector/C++ 1.1 series, the interface between C++ applications, and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/JDBC.

MariaDB Connector/C++ in its current implementation uses the MariaDB protocol via the MariaDB Connector/C API. Connector/C 3.3.11 is used in this release.

Bugs Fixed

  • getMoreResults() could pick other statement's result (CONCPP-132)

  • Driver failed to cache multiple results, i.e., if application executed a query while other query hadn't iterated thru all its results, the connection would get out of sync (CONCPP-133)

Installation

  • Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.

Connector/C++ 1.1.6 Release Notes

Download Now

Release date: 14 Mar 2025

This is a Stable (GA) release of MariaDB Connector/C++.

For a description of this library see theMariaDB Connector/C++ page.

MariaDB Connector/C++ is the interface between C++ applications and MariaDB Server. MariaDB Connector/C++ enables development of C++ applications using a JDBC-based API, which is also used by MariaDB Connector/J.

MariaDB Connector/C++ implements the MySQL protocol using the MariaDB Connector/C API. This release depends on MariaDB Connector/C 3.3.14.

Notable Changes

  • CONCPP-138 - The Driver now always cache all binary results to avoid access violation error while using result-set created with server prepared statements after the connection object has been closed. In case result-set streaming is used results naturally are not cached, but operations on the result-set after statement/connection is closed will cause SQLException to be thrown that the result-set is closed because of that

  • CONCPP-140 - reconnect and reset methods in the Connection interface are deprecated

  • CONCPP-141 - if trustServerCertificate is true(this is default) the connector will explicitly disable certificate verification. This enables work of the connector with Connector/C v.3.4 for unencrypted connection on the platforms there Connector/C is linked dynamically. Setting the option to false enables certificate verification.

  • Fixed possible crash in case of use of setBytes() method if passed sql::bytes object did not own the bytes array, but referenced C array

Bugs Fixed

  • CONCPP-134 - Removed volatile deprecation build warnings

  • CONCPP-136 - With default settings the driver uses slowest possible batch executing method

  • CONCPP-137 - Inconsistent types naming of the names returned by ResultSetMetaData::getColumnTypeName()

Installation

Install MariaDB Connector/C++

This page is: Copyright © 2025 MariaDB. All rights reserved.