Connector/R2DBC 1.1.4 is a Stable (GA) release of MariaDB Connector/R2DBC, released on 2023-03-27
Overview
MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.
Release date: 27 Mar 2023
MariaDB Connector/R2DBC 1.1.4 is a Stable(GA) release.
This release is compatible with R2DBC 1.0.0 specification.
Notable Changes
When MariaDB Connector/R2DBC 1.1.4 connects to a pre-existing TLS tunnel, host verification can be disabled. (R2DBC-80)
The behavior can be configured using the , which defaults to false.
When the sslMode connection parameter is set to , host verification can be disabled by setting sslTunnelDisableHostVerification to true.
For example:
When the is enabled, prepared statements can use the text protocol. ()
To use the text protocol in this scenario, prefix the query string with /text/ when creating the prepared statement.
For example, to use the text protocol with the native R2DBC API:
Or to use the text protocol with Spring Data:
MariaDB Connector/R2DBC 1.1.4 adds support for decoding TIMESTAMP and DATE "zero" date values ('0000-00-00') from MariaDB Xpand. ()
In previous releases, when the connector received a "zero" date value from Xpand, the value could not be decoded and the following error would be raised:
When the is enabled, MEDIUMINT values are not properly decoded. ()
In Connector/R2DBC 1.1.2 and 1.1.3, when the binary protocol is used, the last byte of a MEDIUMINT value is not read from a result-set, so remaining values from the same row are read incorrectly.
When the Statement.returnGeneratedValues() method is called when connected to a version of MariaDB Server prior to 10.5, an error is raised. ()
MariaDB Connector/R2DBC's internal statement parser improperly classifies user-defined variables in SELECT statements as named statement parameters. ()
In previous releases, the @amount token in the query below would be classified as a named statement parameter, instead of a user-defined variable.
Since a statement parameter does not exist with that name, the following error would be raised:
Starting with this release, the internal statement parser can distinguish between user-defined variables and named statement parameters.
When a ConnectionFactory is used to construct a connection string from a ConnectionFactoryOptions instance, the restrictedAuth, rsaPublicKey, cachingRsaPublicKey, and allowPublicKeyRetrieval connection parameters are not properly parsed. ()
When a server does not advertise the CLIENT_SESSION_TRACK capability (such as old versions of MariaDB Server, MySQL, and MariaDB Xpand), the MariadbConnection.getTransactionIsolationLevel() and MariadbConnection.setTransactionIsolationLevel(IsolationLevel isolationLevel) methods do not properly get or set the transaction isolation level. ()