All pages
Powered by GitBook
1 of 9

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Connector/C++ 1.1 Release Notes

Release Notes for MariaDB C++ Connector 1.1 releases

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: ()

    • rewriteBatchedStatements 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:

will be rewritten as:

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

will be rewritten as:

  • 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. ()

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

  • 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.

Installation

useBulkStmts connection option
Starting with this release, setting setFetchSize will throw SQLFeatureNotImplementedException at the attempt to set fetch size >0 (CONCPP-107)
CONCPP-106
CONCPP-105
CONCPP-96
INSERT INTO ab (i) VALUES (?) WITH first batch values = 1, second = 2
INSERT INTO ab (i) VALUES (1), (2)
INSERT INTO ab(col1) VALUES (?) ON DUPLICATE KEY UPDATE col2=? WITH VALUES [1,2] AND [2,3]
INSERT INTO ab(col1) VALUES (1) ON DUPLICATE KEY UPDATE col2=2;INSERT INTO TABLE(col1) VALUES (3) ON DUPLICATE KEY UPDATE col2=4

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. ()

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

  • 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. ()

Notable API Changes

  • ResultSet get methods are const ()

  • 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. ()

Installation

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)

  • CONCPP-91
    CONCPP-88
    CONCPP-72
    CONCPP-86
    CONCPP-83
    Install MariaDB Connector/C++
    Install MariaDB Connector/C++

    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. ()

      • 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:

    • 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
    • New node failover support. () An application can supply more than one host to use for connection. An individual port number can be specified for each host:

    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. (), ()

    Installation

    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 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)

    CONCPP-2
    CONCPP-4
    CONCPP-93
    CONCPP-94
    Install MariaDB Connector/C++
    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());
    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));

    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. ()

    Bugs Fixed

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

    Installation

    CONCPP-130
    CONCPP-129
    Install MariaDB Connector/C++
    @wait_timeout

    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

    • - 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

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

    • - 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

    Bugs Fixed

    • - Removed volatile deprecation build warnings

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

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

    Installation

    Connector/C++ 1.1.7 Release Notes

    Download Now

    Release date: 2 Oct 2025

    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.17.

    Notable Changes

    • - Introduced restrictedAuth connection option restricting connector in authentication plugins it may use. By using this option, application can define a comma-separated list of plugins allowed to use. That may not allow server to silently downgrade the authentication method.

    • - Introduced initSql connection option permitting application to set a single query or the semi-colon separated list of SQL queries to be executed at the connection time

    Bugs Fixed

    • - Empty stream should result in empty DB value, not a NULL

    • - Possible issues in getImportedKeys, getExportedKeys and getCrossReference with 12.1 server

    • - Inconsistency in getDouble() on text and binary result

    Installation

    Connector/C++ 1.1.5 Release Notes

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

    Release date: 2024-08-27

    This is a release of MariaDB Connector/C++.

    This is a GA release of the 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.

    Connector/C++ 1.1.3 Release Notes

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

    Release date: 2024-02-21

    This is a release of MariaDB Connector/C++.

    For a description of this library see the page.

    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.

    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

  • CONCPP-138
    CONCPP-140
    CONCPP-141
    CONCPP-134
    CONCPP-136
    CONCPP-137
    Install MariaDB Connector/C++
    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++

    Stable
    MariaDB Connector/C++ 1.1.6
    Download Now
    Stable (GA)
    MariaDB Connector/C++ 1.1
    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++ ()

      • 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

    • 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 ()

    • Crashes in pool because of incorrect synchronization ()

    Installation

    • Install MariaDB Connector/C++

    Stable
    MariaDB Connector/C++ 1.1.6
    Download Now
    Stable (GA)
    MariaDB Connector/C++
    MariaDB Connector/C++
    CONCPP-75
    CONCPP-146
    CONCPP-56
    CONCPP-143
    CONCPP-145
    Install MariaDB Connector/C++
    , 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.

  • CONCPP-123
    CONCPP-121
    CONCPP-122

    The most recent release of MariaDB Connector/C++ is:

    Connector/C++ 1.1.7 Download Now

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

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

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

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

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

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

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

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