MySQL Connector/J 8.0 Release Notes
Version 8.0.16 is the latest General Availability release of the 8.0 series of MySQL Connector/J. It is suitable for use with MySQL Server versions 8.0, 5.7, and 5.6. It supports the Java Database Connectivity (JDBC) 4.2 API, and implements the X DevAPI.
X DevAPI:
Added BigInteger
,
BigDecimal
, and Character
as supported classes whose instances can be passed as parameters
to a X DevAPI Table
statement. Also made the
error message clearer when applications try to pass instances of
unsupported classes.
(Bug #25650912)
X DevAPI:
Connector/J now supports the ability to send
connection
attributes (key-value pairs that application programs can
pass to the server at connect time) for X Protocol connections.
Connector/J defines
a
default set of attributes, which can be disabled or
enabled. In addition, applications can specify attributes to be
passed in addition to the default attributes. The default
behavior is to send the default attribute set. See the
description for the new configuration property
xdevapi.connect-attributes
for details.
The aggregate size of connection attribute data sent by a
client is limited by the value of the
performance_schema_session_connect_attrs_size
server variable. The total size of the data package should be
less than the value of the server variable, or the attribute
data will be truncated.
X DevAPI: When using X DevAPI, performance for statements that are executed repeatedly (two or more times) is improved by using server-side prepared statements for the second and subsequent executions. See Working with Prepared Statements in the X DevAPI User Guide for details.
The version number has been removed from the name of the Connector/J JAR archive within the RPM packages for Connector/J. That makes upgrading Connector/J with RPM packages easier. (Bug #29384853)
The collation utf8mb4_zh_0900_as_cs
has been
added to the CharsetMapping
class.
(Bug #29244101)
The following third-party libraries have been removed from the distribution bundles for Connector/J:
Google protobuf for Java (required for using X DevAPI and for building Connector/J from source)
C3P0 (required for building Connector/J from source)
JBoss common JDBC wrapper (required for building Connector/J from source)
Simple Logging Facade API (required for using the logging capabilities provided by the default implementation of org.slf4j.Logger.Slf4JLogger by Connector/J, and for building Connector/J from source)
Users who need those libraries have to obtain them on their own. See Installing Connector/J from a Binary Distribution and Installing from Source for details.
X DevAPI:
The method unquoteWorkaround()
has been
removed from the ExprParser
class, as the
workaround is no longer needed, and it actually produced wrong
results in some cases.
(Bug #29257922)
X DevAPI: Connector/J threw an error when a JSON document contained only a field with an empty array as its value. With this fix, Connector/J now takes that as a valid JSON document. (Bug #28834959, Bug #92819)
X DevAPI:
getByte()
calls failed on table columns of
the BINARY
data type. This was due to issues
with string conversion, which has been corrected with this fix.
(Bug #25650385)
X DevAPI: Any statements sent after a failed procedure call caused Connector/J to hang. This was because after the failed call, Connector/J was not aware that the result streamer had already been closed by the server. With this fix, an error is thrown when the procedure call fails, and the result streamer is nullified. (Bug #22038729)
X DevAPI: Unary negative and positive operators inside expressions were parsed wrongly as binary minus and plus operators. (Bug #21921956)
Because the SHOW PROCESSLIST statement might cause the server to fail sometimes, Connector/J now avoids using the statement, but queries the performance scheme instead for the information it needs. (Bug #29329326)
Some unnecessary information has been removed from the Connector/J log. (Bug #29318273)
In the DatabaseMetaDataUsingInfoSchema
interface, the getProcedureColumns()
and
getFunctionColumns()
methods returned wrong
results for the PRECISION
column, and the
getColumns()
and
getVersionColumns()
methods returned wrong
results for the COLUMN_SIZE
column. The
errors were due to the wrong handling of the temporal type
precision by Connector/J, which has now been fixed.
(Bug #29186870)
For an SSL connection, after a client disconnected from a server
by calling Connection.close()
, the TCP
connection remained in the
TIME_WAIT
state on the server side. With this fix, the connection remains
in the
TIME_WAIT
state on the client side instead, in most cases.
(Bug #29054329, Bug #93590)
The function
LoadBalancedConnectionProxy.getGlobalBlacklist()
always returned an empty map, thus there was never a blacklist
for load-balanced connections.
(Bug #28860051, Bug #93007)
The redundant file, changelog.gz
, has been
removed from the Debian 9 package for Connector/J. The file
repeated the contents of the CHANGES.gz
file.
(Bug #27786499)
Using getBytes()
to retrieve
TEXT
data resulted in a
NumberFormatException
. With this fix, the
proper exception (SQLDataException
), is now
thrown.
(Bug #27784363)
A changeUser()
call failed with a
java.io.IOException
when the configuration
property enablePacketDebug
was set to
true
for a connection.
(Bug #25642021)
bindings.getBoolean()
always returned false.
It was due to a mishandling of data types, which has been
corrected with this fix.
(Bug #22931700)