Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Release Notes for the MariaDB Connector/J 1.1 series
Download | Release Notes | Changelog |
Release date: 16 Jan 2015
MariaDB Java Client 1.1.8 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of all changes made in this release, with links to detailed information on each push, see the changelog.
Some of the bugs fixed include:
Minimize connection overhead: remove check for NO_BACKSLASH_ESCAPES (this can be determined by checking server flag) and don't set autocommit if server flag already indicates autocommit mode ()
MySQLResultSet.getTimestamp(int, Calendar) throws NullPointerException if column is NULL ()
Insert of emoji in a column with collation utf8mb4 doesn't work ()
Connection fails if there are special chars (like '-') in the url. The bug fix also removes extra call for setting the default database, instead default database will be selected during handshake. (
Download | Release Notes | Changelog |
Release date: 01 July 2013
MariaDB Java Client 1.1.3 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
On Windows, it is now possible to use named pipes if server enables them. To connect to the server using named pipe, pass pipe=<pipe_name> URL parameter or property. The pipe filename name should be passed without the \\pipe\<machine> prefix. ()
It is now possible to do SSL validation for self signed certificates, using serverSslCert, (provide CA certificate for the server's certificate). It allows to avoid SSL handshake errors (untrusted CA) when working with self-signed certificates, and is more secure than the existing trustServerCertificate option. ()
Some of the bugs fixed include the following:
Change assertion in PacketOutputStream.startPacket() to be IOException, so it can be caught. "Last packet not finished" condition can happen , if underlying stream is broken (e.g write operation failed) ()
If custom SocketFactory creates an already connected socket, do not execute Socket.connect() ()
Ensure proper locking in MySQLCallableStatement.execute(), in scenarios that use single connection simultaneously from multiple threads. Hold the connection lock for the duration of 3 operations - setting parameters , executing statement, and reading off output parameters) (
Download | Release Notes | Changelog |
Release date: 03 Apr 2014
MariaDB Java Client 1.1.7 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of all changes made in this release, with links to detailed information on each push, see the changelog.
Support for LOAD DATA LOCAL INFILE
new MySQLStatement methods: unwrap() and isWrapperFor()
Some of the bugs fixed include:
Fixed "unknown command" error when running with Galera cluster
Fixed findColumn() which returns now the correct number if a select list
contains the same column name more than once. ()
Fixed "MySQL Protocol limit reached" error when sending data > 2GB
| Release Notes | |
Release date: 18 Jun 2015
MariaDB Connector/J 1.1.9 is a (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of all changes made in this release, with links to detailed information on each push, see the .
| Release Notes | |
Release date: 18 September 2013
MariaDB Java Client 1.1.5 is a (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of changes made in this release, with links to detailed information on each push, see the .
Connection fails if database name contains spaces (CONJ-97)
Don't throw an exception in case COM_QUIT message to server fails
ResultSet not closed on new execution of Statement (CONJ-90)
IndexOutOfBounds exception thrown by java.sql.Connection.isValid() (CONJ-91)
Better structure of database URL for connect in JUnit test cases (CONJ-112)
Change the BatchUpdateException constructor call to include the vendor code (CONJ-113)
Method getBinaryStream() on Blob's throws Out of range (position > stream size) (CONJ-117)
MySQLResultSet.getTimestamp(int, Calendar) throws NullPointerException if column is NULL (CONJ-88)
MySQLDataSource ignores calls to setPort/setDatabaseName/setServerName after calling getConnection (CONJ-80)
MySQLDataSource implementation discards properties (CONJ-81)
getGeneratedKeys() does not return generated keys in case of a batch SQL INSERT (CONJ-83)
Error calling stored procedure with DECIMAL parameter (CONJ-103)
Support for batch statements rewrite (CONJ-99)
setTimestamp truncates milliseconds (CONJ-107)
ConcurrentModificationException on calling close() on MySQLPooledConnections (CONJ-76)
Connection.createStatement should throw an Exception if the connection is closed (CONJ-69)
Implement useful jdbc4 abort(Executor arg) method on MySQLConnection (CONJ-75)
Accept escape sequence OJ in any case the server accepts (CONJ-106)
Statement.getGeneratedKeys() returns a non-empty ResultSet if AUTO_INCREMENT was unaffected (CONJ-108)
Big (> 512 MiB) LOAD DATA LOCAL INFILE cannot be sent to server (CONJ-115)
Use utf8mb4 if the server charset is utf8mb4 (CONJ-118)
JDBC & MySQL incompatibilities for the ResultSet class (CONJ-119)
Fixed Connection.isValid(int) behavior (CONJ-120)
BIT(1) fields are represented as 0 or 1 with ResultSet.getString() (CONJ-102)
ResultSet.wasNull() should return true for zero timestamps (CONJ-100)
MySQLDataSource.setProperties fixed (CONJ-123)
BigInteger not supported when setObject is used on PreparedStatements (CONJ-124)
implement Connection.getNetworkTimeout and Connection.setNetworkTimeout (CON-121)
invalid arguments were given for the XA operation (CONJ-122)
Data type LONGVARCHAR not supported in setObject() (CONJ-82)
MySQLType.GEOMETRY not handled in MySQLValueObject.getObject() (CONJ-85)
ResultSet from previos query after "Read timed out" socket exception (CONJ-79)
Make SQLException prettier when too large packet is sent to the server (CONJ-116)
PreparedStatement.setObject() returns IllegalParameterException: No '?' on that position (CONJ-126)
Username and password ignored in url for DataSource (CONJ-127)
For multi-row inserts, getGeneratedKeys() will return ResultSet with multiple entries (CONJ-39)
java.util.Date can now be passed to PreparedStatement.setObject(). (CONJ-40)
Allow for missing space it temporal escapes, for better compatibility with ConnectorJ (CONJ-42)
PreparedStatement.getResultSetMetaData() called before query execution threw exception, if query string contained at least once placeholder (CONJ-43)
DatabaseMetaData.getPrimaryKeys() returned incorrect value in KEY_SEQ column (CONJ-41)
(Performance enhancement) Changed DatabaseMetadata.getImportedKeys() not to use information schema, but to parse the output of "show create table" instead. This considerably speeds up several scenarios involving Hibernate (CONJ-35)
Fixed ResultSet.getDisplaySize() for character columns - due to UTF-8 usage it was 3x more than expected (size in bytes, instead of size in chars)
Fix bug in prepared statement parsing code (skipping next character after backslash '')(CONJ-44)
Fix Statement.executeBatch() methods to throw BatchUpdateException, as in JDBC spec (CONJ-47)
CONJ-158 : Tests fail with max_allowed packets = 16M
CONJ-157 : Batch statements rewrite has broken the hibernate functionality
CONJ-156 : SecurityManager being used incorrectly
CONJ-155 : Can't insert semicolons with rewriteBatchedStatements=true
: Add ability to run tests against another mariadb server than localhost
: Exception when on a second empty executeBatch on a prepareStatement with rewriteBatchedStatements=true
: performance degraded after upgrading from 1.1.7 to 1.1.8
: Parsing of JDBC urls doesn't work correctly
: ResultSetMetaData.getTableName returns table alias instead of real table name
: Using a semicolon in a string with "rewriteBatchedStatements=true" fails
Fix "Bad handshake" exception when connecting to MySQL Server 5.5 (CONJ-64)
Download | Release Notes | Changelog |
Release date: 01 Mar 2013
MariaDB Java Client 1.1.1 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Implement tcpAbortiveClose option, for "hard" socket close ()
This option can be used in environments where connections are created and closed in rapid succession. Often, it is not possible to create a socket in such environment after a while, since all local "ephemeral" ports are used up by TCP connections in TCP_WAIT state. Using tcpAbortiveClose works around this problem by resetting TCP connections rather (abortive or hard close) than doing an orderly close. It is accomplished by using socket.setSoLinger(true,0) for abortive close.
MySQLStatement will now indicate there are no more results by returning -1 from getUpdateCount() and null from getResultSet(),as mandated by the standard ()
Introduced nullCatalogMeansCurrent parameter for compatibly with ConnectorJ, and make it default ()
Prior to this change, DatabaseMetadata.getTables() or other methods of DatabaseMetaData that accept catalog names and return result sets would treat null as prescribed by the JDBC standard (null means no restriction which catalog is used). This behavior is now changed for the sake of compatibility. Starting with 1.1.1 , null for catalog name will mean current catalog. To get JDBC standard behavior, one needs to set nullCatalogMeansCurrent=false.
Download | Release Notes | Changelog |
Release date: 18 Feb 2014
MariaDB Java Client 1.1.6 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of all changes made in this release, with links to detailed information on each push, see the changelog.
New connection parameter serverTimezone: If set, timezone conversions will occur when storing temporal data with preparedStatement (setDate(), setTime(), setTimestamp()) and when reading data using ResultSet (getDate(),getTime(),getTimestamp()) The effect is similar to setting the session variable. The difference is better cross-platform compatibility (i.e timezone names like "Asia/Omsk" can also be used when the server is on Windows). Also, this option works for both and datatypes, while the server-side option has no effect on datetime. ()
Some of the bugs fixed include:
Index parts that are not parts of primary keys may be returned by DatabaseMetaData.getPrimaryKeys() ()
Fixed UTF8 length calculation ()
Prevent batch execution if the batchlist for statements and prepared statements is null. ()
MySQLDatabaseMetaData fix: GetColumns
| Release Notes | |
Release date: 02 May 2013
MariaDB Java Client 1.1.2 is a (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of changes made in this release, with links to detailed information on each push, see the .
DatabaseMedataData.getColumns() returned incorrect values in the "COLUMN_SIZE" column for character data.(CONJ-15))
Prior to the change, octet size was returned (length in bytes). Depending on the character set used, it could be 3 times bigger than the length in characters that was specified by CREATE or ALTER table. This behavior is corrected in 1.1.1
DatabaseMetaData.getColumns() always handled MySQL YEAR datatype as SMALLINT. (CONJ-19)
The behavior is now fixed and getColumns returns either DATE or SMALLINT depending on how the 'yearIsDateType' parameter is set.
ResultSetMetaData.getColumnName() returned an empty string in special cases (CONJ-17)
ResultSetMetaData.getColumnName() returned and empty string for "non-columns" in a result set (functions, aggregates like count(*), and so on). The fix is to return the column label to be returned if the column name is empty.
Ensure that getObject() returns byte array for CHAR BINARY.(CONJ-20)
Also make sure that getColumnType(),getColumnClassName(),getColumnTypeName() return values indicate BINARY for fixed binary type.
JVM does not exit if statement timeout is used.(CONJ-23)
Constructor for Timer was corrected to ensure that the Timer thread has type background thread. Thus Timer won't prevent JVM from exiting.
Calling first() on "streaming" result set and using the result set afterwards generated NullPointerException (CONJ-24)
Now a SQLException is thrown early on, in the first() call, since streaming results sets are not scrollable.
Connection.close() hangs if there is an open streaming result set, and next() was not called on this result set (CONJ-25)
Autoselect database for SSL connections (CONJ-71)
Throw exception for unsupported JDBC 4.1 functions (CONJ-67)
All timeout parameters will be specified in mircoseconds (instead of seconds). (CONJ-78)
Fixed a leak in callable statements (Thanks to Andrew Gaul)
PreparedStatement.getMetaData() will now return correct ResultSet
metadata, also prior to statement execution. In this case, to retrieve
metadata, statement will be prepared on the server side. (CONJ-21)
Performance enhancement : Connection.getAutoCommit() will not more issue
not issue "select @@autocommit" query anymore. This information is also
available in on status flags sent with OK/EOF protocol packets.
Also, Connection.setAutoCommit() will be a no-op, if autocommit status is
already the same as desired one (CONJ-30)
Fixed several issues with CLOB datatype
and ResultSet.setCharacterStream() -non-ASCII character could get lost
after setCharacterStream(). CLOB was errneously sent to server as binary
(using _BINARY introducer). ()
CHAR BINARY and VARCHAR BINARY were errnously handled as binary type. They are now correctly treated as CHAR/VARCHAR with binary collation. ()
Blob.getBinaryStream() could return blob with incorrect size ()
Fix server version string for MariaDB Server 10.0.2 ()
Release date: 10 Sept 2013
MariaDB Java Client 1.1.4 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of all changes made in this release, with links to detailed information on each push, see the changelog.
It is now possible to connect to the server via Unix domain sockets (on Unix
platforms) or shared memory (Windows). For domain socket connections, add
"localSocket=<socket_path>" to the connection URL. For shared memory
connections, add "sharedMemory=<shared_memory_base_name>".
Shared memory and unix domain socket support is implemented using Java Native Access (JNA) library, and this means that applications that use these features will need jna.jar and jna-platform.jar to be present in the classpath at runtime (, ). More information about the JNA project can be found at
Some of the bugs fixed include:
ResultSet.getTimestamp() did not work with TIME columns ()
DatabaseMetaData will now return correct information about case
senstivity handling, dependent on lower_case_table_names database
parameter()
supportsMixedCaseIdentifiers(),supportsMixedCaseQuotedIdentifiers()
lower_case_table_namesstoresLowerCaseIdentifiers(),storesLowerCaseQuotedIdentifiers() will
return true if lower_case_table_names is 1 ( case-insensitive, lowercase
conversion)
storesMixedCase[Identifiers(),storesMixedCaseQuotedIdentifiers() will
returns true if lower_case_table_names is 2 (case-insensitive, but
case-preserving)
DatabaseMetaData.getDatabaseMinorVersion() incorrectly returned major
version instead of minor (CONJ-56)
PreparedStatement.setObject() now correctly handles objects of
type java.util.Date (CONJ-57)
If connection is idle, Statement.cancel() is now a no-op. Previously,
"KILL QUERY" was sent to database no matter whether statement was executed or
not (CONJ-58)
Provide public method Driver.unloadDriver() to cleanup after driver
unload, to workaround Tomcat's classloading issues (CONJ-61)
Make PreparedStatement.toString() output more meaningful (CONJ-62)
| Release Notes | |
Release date: 15 Jan 2013
MariaDB Java Client 1.1.0 is a (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a list of changes made in this release, with links to detailed information on each push, see the .
Here is a list of the important changes in this release
Implemented several missing methods in DatabaseMetaData () Implementation for these methods was missing in the past and is now corrected :
(implementation returns 0 rows,but correct result set metadata)
(implementation returns 0 rows, but correct result set metadata)
Consistent, compatible with ConnectorJ handling of JDBC catalogs vs schemas vs databases (CONJ-10, CONJ-9, CONJ-8) All DatabaseMetaData methods that return catalog or schema name, or accept catalog or schema as input parameter, will handle catalog input parameter as database name, and will return current database name in the "TABLE_CAT" column and null for "TABLE_SCHEM" column. This handling is consistent with ConnectorJ handling for catalogs. Here is the list of affected methods :
will now return database name
will return an empty string.
Methods , , will return false indicating that schemas are not supported. ,, all return true (catalogs are supported).
Handling of statement timeout is now fixed (CONJ-1) Prior implementation was based on socket timeouts and did not work well due to a Java bug (socket can't recover after a timeout)
Driver can be used in OSGi environments now - it includes OSGi-specific entries in MANIFEST.MF (CONJ-2)
Support dumpQueriesOnException=true in the JDBC URL (CONJ-12) . The effect of this parameter is such that query text is included into exception message. Additionally, query text is dumped on MySQL syntax errors, no matter if this parameter is set or not.
SSL support. useSSL=true parameter is now functional. Additionally, trustServerCertificates=true can be set, to avoid checking server certificate validity.
sessionVariables driver URL parameter is now supported.
LOAD DATA LOCAL INFILE can use generic URLs (e.g http) for file specification
SQL Comments are not stripped anymore off PreparedStatements.
Fixed ArrayOutOfBounds exception when parsing JDBC (CONJ-4)
Fixed exception in Connection.getWarnings(), which was throws is connection was closed
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.