Skip to content

Releases: mariadb-corporation/mariadb-connector-j

MariaDB connector/j 1.6.2

27 Jun 13:16
Compare
Choose a tag to compare

This version is a general availability (GA) release.

Changelog

Bug

*[CONJ-473] when useServerPrepStmts is not set, the PREPARE statement must not be cached.
*[CONJ-494] Handle PrepareStatement.getParameterMetaData() if query cannot be PREPAREd
*[CONJ-497] escape string correction for big query
*[CONJ-498] add java 6 compatibility

MariaDB connector/j 2.0.2

05 Jun 21:06
Compare
Choose a tag to compare

This version is a general availability (GA) release.

Changelog

Bug

  • CONJ-490 - DataSource connectTimeout is in second, but was set on socket timeout that is in milliseconds
  • CONJ-481 - Buffer overrun reading ResultSet when using option "useServerPrepStmts"
  • CONJ-470 - Error when executing SQL contains "values" and rewriteBatchedStatements=true
  • CONJ-471 - PK_NAME returned by DatabaseMetadata.getPrimaryKeys() should not be null
  • CONJ-477 - Aurora not compatible with option usePipelineAuth. Now automatically disabled when aurora is detected
  • CONJ-479 - ArrayIndexOutOfBoundsException on connect to MySQL 5.1.73
  • CONJ-480 - Access denied error on connect to MySQL 5.1.73
  • CONJ-483 - Wrong content of DEFERRABILITY column in MariaDbDatabaseMetaData
  • CONJ-487 - No timeout exception on Client PrepareStatement
  • CONJ-489 - javax.transaction.xa.XAException message error truncated ( near '0x )

Task

  • CONJ-478 - Change CI tests to use maxscale 2.1 version
  • CONJ-482 - Connection.setNetworkTimeout don't throw exception if no executor
  • CONJ-488 - Use java.net.URL to read keyStore and trustStore again

MariaDB connector/j 1.6.1

05 Jun 21:01
Compare
Choose a tag to compare

This version is a general availability (GA) release.

Changelog

Bug

  • CONJ-490 - DataSource connectTimeout is in second, but was set on socket timeout that is in milliseconds
  • CONJ-481 - Buffer overrun reading ResultSet when using option "useServerPrepStmts"
  • CONJ-470 - Error when executing SQL contains "values" and rewriteBatchedStatements=true
  • CONJ-471 - PK_NAME returned by DatabaseMetadata.getPrimaryKeys() should not be null
  • CONJ-477 - Aurora not compatible with option usePipelineAuth. Now automatically disabled when aurora is detected
  • CONJ-479 - ArrayIndexOutOfBoundsException on connect to MySQL 5.1.73
  • CONJ-480 - Access denied error on connect to MySQL 5.1.73
  • CONJ-483 - Wrong content of DEFERRABILITY column in MariaDbDatabaseMetaData
  • CONJ-487 - No timeout exception on Client PrepareStatement
  • CONJ-489 - javax.transaction.xa.XAException message error truncated ( near '0x )

Task

  • CONJ-478 - Change CI tests to use maxscale 2.1 version
  • CONJ-482 - Connection.setNetworkTimeout don't throw exception if no executor
  • CONJ-488 - Use java.net.URL to read keyStore and trustStore again

MariaDB connector/j 2.0.1

10 May 13:18
Compare
Choose a tag to compare

This version is a general availability (GA) release.

Changelog

  • CONJ-467 - changing database metadata compability to 4.2
  • CONJ-460 - Query that contain multiqueries with fetch and EOF deprecation failed
  • CONJ-464 - Using of "slowQueryThresholdNanos" option with value > Integer.MAX_VALUE results in class cast exception
  • CONJ-452 - correcting inline ssl server certificate parsing
  • CONJ-461 - LAST_INSERT_ID() validation check correction for rewrite statement
  • CONJ-468 - autoIncrementIncrement value loaded during connection, avoiding a query for first statement for rewrite

New Option :
CONJ-465 - new option "enablePacketDebug"

Option Description
enablePacketDebug Driver will save the last 16 MySQL packet exchanges (limited to first 1000 bytes). Hexadecimal value of those packets will be added to stacktrace when an IOException occur.
This option has no impact on performance but driver will then take 16kb more memory.
Default: false.

MariaDB connector/j 1.6.0

10 May 13:01
Compare
Choose a tag to compare

Notable changes and additions

This version is a general availability (GA) release.
This will be the last evolution version compatible with java 7

evolution

Version contain 2.0.0/2.0.1 evolutions, without java 8 temporal temporal objects.

MariaDB connector/j 2.0.0-RC

20 Apr 07:36
Compare
Choose a tag to compare
Pre-release

Notable changes and additions

This version is a Release candidate.

evolution

Java 8 is now minimum required version.

CONJ-318 : Handle CLIENT_DEPRECATE_EOF flag

Implement some protocol changes that permit to save some bytes.(part of https://jira.mariadb.org/browse/MDEV-8931).

CONJ-341 : handle SERVER_SESSION_STATE_CHANGE status flag

With server with version MariaDB 10.2, MySQL 5.7, ensure driver state :

  • driver does now always get current database, even database is changed by query.
  • when using rewriteBatchedStatements does return correct autoincrement ids even when session variable @auto_increment_increment has change during session.

CONJ-393 : improve setQueryTimeout to use SET STATEMENT max_statement_time

Previous implementation of query timeout handling (using Statement.setQueryTimeout) will create an additional thread with a scheduler.
When timeout is reached, a temporary connection will be created to permit executing "KILL QUERY ", then closing the temporary connection.
When query ended before timeout, the scheduled task will be canceled.

If server is > 10.1.2, query timeout will be handle server side using "SET MAX_STATEMENT_TIME FOR" command.

[CONJ-315]

Closing a Statement that was fetching a result-set (using Statement.setFetchSize) and all rows where not read at the time of closing, a kill query command
will be executed on close, to avoid having to parse all remaining results.

[CONJ-442]

Memory optimization : streaming query.
Very big command now doesn't use any intermediate buffer. Commands are send directly to socket avoiding using memory, This permit to send very large object (1G) without using any additional memory.

[CONJ-366]

Faster connection : bundle first commands in authentication packet
Driver execute different command on connection. Those queries are now send using pipeline (all queries are send, then only all results are reads).

New Options :

Option Description
usePipelineAuth Fast connection creation.
Default: true. Since 2.0.0

[CONJ-368]

Parsing row result optimisation to avoid creating byte array to the maximum for faster results and less memory use.

Remaining JDBC 4.2 missing implementation :

  • CONJ-414 - support for large update count [CONJ-414]
  • CONJ-409 - PrepareStatement.setObject(...) support for with java 8 temporal temporal object.
  • CONJ-411 - support for Statement maxFieldSize

Misc

  • CONJ-443 - NullpointerException when making concurrent procedure calls
  • CONJ-391 - Improve connection using SELECT in place of SHOW to avoid creating a mutex server side.
  • CONJ-402 - tcpKeepAlive option now default to true.
  • CONJ-448 - QueryException: Incorrect arguments to mysqld_stmt_execute on inserting an "emptyString"-Lob with JPA
  • CONJ-451 - Respect type parameter of ResultSet.getObject with type
  • CONJ-455 - MetaData : tinyInt1isBit doesn't work properly in TINYINT(1) column that is marked as UNSIGNED
  • CONJ-450 - NPE on setClientInfo if value is an empty string
  • CONJ-457 - trustStore : Retain leading slash when trust store beings with 'file:///'
  • CONJ-160 - ConnectionPool test using hikariCP
  • CONJ-307 - valid connector java 9 early access
  • CONJ-402 - make tcpKeepAlive option default to true
  • CONJ-449 - Permit CallableStatement streaming

MariaDB connector/j 1.5.9

09 Mar 02:15
Compare
Choose a tag to compare

Notable changes and additions

This version is a Correction release

Bugfix

  • CONJ-212 : Implement password encoding charset option to permit connection when a password has been created with a connection that did have a different charset.
Option Description
passwordCharacterEncoding Indicate password encoding charset. Charset value must be a Java charset.
Example : "UTF-8"
Default: null (= platform's default charset) .
Since 1.5.9
  • CONJ-423 : Permit to have MySQL driver and MariaDB driver in same classpath
  • CONJ-431 : multi-values queries return only one generated key
  • CONJ-437 : ResultSet.getString on field with ZEROFILL doesn't have the '0' leading chars when using binary protocol
  • CONJ-435 : avoid "All pipe instances are busy" exception on multiple connections to the same named pipe
  • CONJ-446 : ResultSet first() throw an exception for scroll type if TYPE_FORWARD_ONLY only when streaming
  • CONJ-440 : handle very big blob (1Gb)
  • CONJ-434 : 1.5.8 regression : ResultSet returns duplicate entries when using fetchsize
  • CONJ-429 : ResultSet.getDouble/getFloat may throws a NumberFormatException
  • CONJ-438 : using option rewriteBatchedStatements, permit rewrite when query has column/table that contain 'select' keyword.

MariaDB connector/j 1.5.8

10 Feb 15:58
Compare
Choose a tag to compare

Notable changes and additions

This version is a Correction release

Bugfix

  • CONJ-424 : getGeneratedKeys() on table without generated key failed on second execution
  • CONJ-412 : Metadata take in account tinyInt1isBit in method columnTypeClause
  • CONJ-418 : ResultSet.last() isLast() afterLast() and isAfterLast() correction when streaming
  • CONJ-415 : ResultSet.absolute() should not always return true
  • CONJ-392 : Aurora cluster endpoint detection fails when time_zone doesn't match system_time_zone
  • CONJ-425 : CallableStatement getObject class according to java.sql.Types value
  • CONJ-426 : Allow executeBatch to be interrupted
  • CONJ-420 : High CPU usage against Aurora after 2 hours inactivity

MariaDB connector/j 1.5.7

12 Jan 16:42
Compare
Choose a tag to compare

Notable changes and additions

This version is a Correction release

Bugfix

  • CONJ-407 : handling failover when packet > max_allowed_packet reset the connection state.
  • CONJ-403 : possible NPE on ResultSet.close() correction
  • CONJ-405 : Calendar instance not cleared before being used in ResultSet.getTimestamp

MariaDB connector/j 1.5.6

21 Dec 22:34
Compare
Choose a tag to compare

Notable changes and additions

This version is a Correction release

Bugfix

  • CONJ-399 : resultSet getLong() for BIGINT column fails if value is Long.MIN_VALUE in Text protocol
  • CONJ-395 : Aurora does not randomise selection of read replicas
  • CONJ-392 : Aurora cluster endpoint detection timezone issue
  • CONJ-394 : mysql_native_password plugin authentication fail when default-auth set
  • CONJ-388 : handle timestamp '0000-00-00 00:00:00' getString()
  • CONJ-391 : Use SELECT in place of SHOW command on connection
  • CONJ-396 : revised implementation for handling multiple resultSet correctly for a unique command (was failing if more than 2)

Misc

  • CONJ-380 : continous integration now test against maxscale