This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-15. For the latest, interactive version please visit https://mariadb.com/kb/.

MariaDB Connector/J 2.1.0 Release Notes

The most recent Stable (GA) release of MariaDB Connector/J is:
MariaDB Connector/J 3.5.0

Download Release Notes Changelog Connector/J Overview

Release date: 31 July 2017

MariaDB Connector/J 2.1.0 is a Stable (GA) release.

For an overview of MariaDB Connector/J see the About MariaDB Connector/J page

Notable Changes

This version is a general availability (GA) release. (2.x version need java 8+)

Notable changes and additions

CONJ-422 : verification of SSL Certificate Name Mismatch

When using ssl, driver check hostname against the server's identity as presented in the server's Certificate (checking alternative names or certificate CN) to prevent man-in-the-middle attack. Verification is disabled when the option "trustServerCertificate" is set.

A new option "disableSslHostnameVerification" permit to deactivate this validation.

disableSslHostnameVerificationWhen using ssl, driver check hostname against the server's identity as presented in the server's Certificate (checking alternative names or certificate CN) to prevent man-in-the-middle attack. This option permit to deactivate this validation. Hostname verification is disabled when the option trustServerCertificate is set\Default: false. Since 2.1.0

CONJ-400 - Galera validation

When configuration with multi-master, Connection.isValid() will not only validate connection, but host state (@@wsrep_cluster_status). A connection to a node that is not in primary mode will return false (meaning that in pool, connection will be discarded)

CONJ-322 - ResultSet.update* methods implementation

ResultSet.update* methods aren't implemented statement using ResultSet.CONCUR_UPDATABLE are now able to update record. example:

    Statement stmt = con.createStatement(
                                  ResultSet.TYPE_SCROLL_INSENSITIVE,
                                  ResultSet.CONCUR_UPDATABLE);
    ResultSet rs = stmt.executeQuery("SELECT age FROM TABLE2");
    // rs will be scrollable, will not show changes made by others,
    // and will be updatable
    while(rs.next()){
        //Retrieve by column name
        int newAge = rs.getInt(1) + 5;
        rs.updateDouble( 1 , newAge );
        rs.updateRow();
    }

CONJ-389 - faster batch insert

Use dedicated COM_STMT_BULK_EXECUTE protocol for batch insert when possible. (batch without Statement.RETURN_GENERATED_KEYS and streams) to have faster batch (significant only if server >= MariaDB 10.2.7).

A new option "useBulkStmts" permit to deactivate this functionality.

useBulkStmtsUse dedicated COM_STMT_BULK_EXECUTE protocol for batch insert when possible. (batch without Statement.RETURN_GENERATED_KEYS and streams) to have faster batch (significant only if server >= MariaDB 10.2.7).
Default: true. Since 2.1.0

other evolution

  • [CONJ-508] Connection.getCatalog() optimisation for 10.2+ server using new session_track_schema capabilities
  • [CONJ-492] Failover handle automatic reconnection on KILL command

Bug

  • [CONJ-502] isolation leak when using multiple pools on same VM on failover
  • [CONJ-503] regression on aurora Connection Connection.isReadOnly()
  • [CONJ-505] correcting issue that ended throwing "Unknown prepared statement handler given to mysqld_stmt_execute"
  • [CONJ-496] return rounded numeric when querying on a decimal field in place of throwing an exception for compatibility




Be notified of new MariaDB Server releases automatically by subscribing to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.

MariaDB may already be included in your favorite OS distribution. More information can be found on the Distributions which Include MariaDB page.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.