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

MariaDB Connector/J 3.4.0 Release Notes

You are viewing an old version of this article. View the current version here.

Download Release Notes Changelog Connector/J Overview

Note: This page describes features in an unreleased version of MariaDB Connector/J.

Unreleased means there are no official packages or binaries available for download which contain the features. The source code is available on GitHub.

Release date: ???

MariaDB Connector/J 3.4.0 is a Stable (GA) release, and will replace 3.3 as the maintenance releases.

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

Notable Changes

CONJ-1105 ZERO-CONFIGURATION SSL ENCRYPTION

Using SSL (a more correct term would be TLS, but in reality SSL is more commonly used) has been simplified with MariaDB Server 11.4. Before version 11.4, proper SSL configuration required multiple manual steps for the server and all the clients connecting to it.

For MariaDB Connector/J 3.4 to establish an SSL encrypted connection, or a MariaDB Server release series previous to 11.4, three options can be used: Have server certificates generated with trusted Certificate Authorities (CA), using a configuration like: sslMode=verify-full Configure the connector using a server certificate, like: sslMode=verify-full&serverSslCert=file:/server-cert.pem Disable the verification of the SSL certificate, which is insecure and not recommended, using a configuration like: sslMode=trust

For MariaDB Connector/J 3.4 to establish an SSL encrypted connection to MariaDB Server 11.4, enabling SSL does not require any special configuration apart from using sslMode=verify-full. The connector doesn't need to know the server certificate anymore, as long as the password is not empty.

CONJ-1171 timezone support missing feature

The simplest approach to avoid time zone headaches is for the client and server to operate in the same time zone. Problem lies when timezone from JVM differ than the one from server. The MariaDB Connector/J versions offered a single "timezone" option. While this functionality remains compatible, it's now separated into two distinct settings: connectionTimeZone and forceConnectionTimeZoneToSession.

There are 3 options that control timestamps behavior in the java connector:

  • connectionTimeZone: (LOCAL | SERVER | <user-defined time zone>) - This option defines the connection's time zone. LOCAL retrieves the JVM's default time zone, SERVER fetches the server's global time zone upon connection creation, and <user-defined time zone> allows specifying a server time zone without requesting it during connection establishment.
  • forceConnectionTimeZoneToSession: (true | false) - This setting dictates whether the connector enforces the connection time zone for the session.
  • preserveInstants: (true | false) - This option controls whether the connector converts Timestamp values to the connection's time zone.

While remaining compatible with previous version, this permits more flexibility when handling timezone difference scenario. See timezone documentation for detailed information

CONJ-1173 Bulk implementation returning individual results for MariaDB 11.5

This is the client counter part of MDEV-30366: permit returning individual results when using Bulk This now permit to :

  • return exact all auto increment id
  • return individual update rows, permitting "Optimistic locking" batching. This will permit to have a transparent use of BULK compare to unitary sending all updates, thus solving remaining issue with bulk.

Other Changes

  • CONJ-981 Add support for connection redirection
  • CONJ-1087 handle mariadb-11.1+ transaction_isolation
  • CONJ-1100 Be able to filter system tables and views
  • CONJ-1154 avoid unnecessary set transaction isolation queries

Bugs Fixed

  • CONJ-1103 Connector/J Version 3 Does Not Respect "nullCatalogMeansCurrent" Property
  • CONJ-1161 Database connection failing on android
  • CONJ-1107 MariaDB Connector 3 no longer supports query timeout with MySQL
  • CONJ-1125 Inconsistency in Handling PreparedStatement.executeQuery() between MariaDB and MySQL Connectors
  • CONJ-1156 getTables should be ordered as expected
  • CONJ-1163 jdbcCompliantTruncation Does Not Appear To Be Working
  • CONJ-1164 Variable initialization ahead of LOAD DATA INFILE not possible by validateLocalFileName pattern
  • CONJ-1168 useBulkStmts compatibility value with pre 3.2 version
  • CONJ-1169 improve Client prepared statement setMaxRows implementation
  • CONJ-1170 OFFSET missing from getSQLKeywords
  • CONJ-1158 DatabaseMetaData#getFunctions's result not property ordered
  • CONJ-1159 DatabaseMetaData#getClientInfoProperties not ordered correctly
  • CONJ-1166 Implement connection properties fallbackToSystemKeyStore and fallbackToSystemTrustStore
  • CONJ-1174 ConnectorJ gives precision of 20 for signed bigint

Changelog

For a complete list of changes made in MariaDB Connector/J 3.4.0, with links to detailed information on each push, see the changelog.

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.