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
, andCharacter
as supported classes whose instances can be passed as parameters to a X DevAPITable
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.NoteThe 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.(WL #12459)
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. (WL #12246)
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 theCharsetMapping
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. (WL #12825)
X DevAPI: The method
unquoteWorkaround()
has been removed from theExprParser
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 theBINARY
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, thegetProcedureColumns()
andgetFunctionColumns()
methods returned wrong results for thePRECISION
column, and thegetColumns()
andgetVersionColumns()
methods returned wrong results for theCOLUMN_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 theCHANGES.gz
file. (Bug #27786499)Using
getBytes()
to retrieveTEXT
data resulted in aNumberFormatException
. With this fix, the proper exception (SQLDataException
), is now thrown. (Bug #27784363)A
changeUser()
call failed with ajava.io.IOException
when the configuration propertyenablePacketDebug
was set totrue
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)