Version 9.2.0 is a new GA release of MySQL Connector/J. MySQL Connector/J 9.2.0 supersedes 9.1 and is recommended for use on production systems. This release can be used against MySQL Server version 8.0 and later. It supports the Java Database Connectivity (JDBC) 4.2 API, and implements the X DevAPI.
The version requirements for the third-party libraries and tools needed for running and building Connector/J have been updated. See Connector/J Installation and Installing from Source for details. (WL #16558)
On Windows platforms, some tests in the test suite failed when the test databases' names contained uppercase characters. Those tests have now been fixed. (Bug #37272802)
The RPM package for Connector/J distributed by Oracle had a requirement to install the
java-headless
package, which was a Java 8 package and was really unnecessary for running Connector/J. The requirement has now been removed. (Bug #37125271)Calling
exectueBatch()
on aPreparedStatement
resets itsQueryTimeout
value to 0. With this patch, the call no longer changesQueryTimeout
. (Bug #21983318)When the connection properties
useServerPrepStmts
anduseLocalTransactionState
were both true and aPreparedStatement
was used, a statement rollback would fail. This was because thePreparedStatement
always reset the local transaction state. With this fix, Connector/J checks and makes sure that the transaction state is only reset when it should be. (Bug #116318, Bug #37152533)Behaviors of a few of the
DatabaseMetaData
methods were inconsistent when handling parameters of identifiers quoted with backticks (`). With this patch, identifiers quoted by backticks are always unquoted when the connection is in non-pedantic mode, but they are always taken as-is (with the backticks escaped as parts of the identifier) when the connection is in pedantic mode. (Bug #116113, Bug #37063728, Bug #63992, Bug #14598872)It might take a long time to create a connection to a server with Connector/J 8.4.0 or later. It was because Connector/J 8.4.0 and later always performed a reverse DNS lookup on the host IP address. With this patch, the lookup is only performed when OpenTelemetry is used, in which case the lookup is required. (Bug #115586, Bug #36850047)
Calling
getMetadata()
on a prepared statement with theLIMIT
andOFFSET
clauses resulted in a SQL syntax error even if the statement was syntactically correct. (Bug #103437, Bug #32807360)If
closeOnCompletion()
was enabled on aPreparedStatement
, after enabling a streamingResultSet
(for example by callingsetFetchSize()
), theResultSet
was closed immediately even before any query executions. This patch eliminated the immature closing of theResultSet
, so that queries can be run normally. (Bug #96786, Bug #30280035)When
updateRow()
was called after some updates have been performed on aResultSet
, Connector/J tried to update the whole row on the server, resulting in an error when there were columns that the user had no privileges to modify. With this fix, updates are only performed on columns that have been changed in theResultSet
. (Bug #71143, Bug #17967091)