Connector/J 2.0.1 Release Notes

circle-info

Downloadarrow-up-right | Release Notes | Changelog | About MariaDB Connector/J

Release date: 11 May 2017

MariaDB Connector/J 2.0.1 is a Stable (GA) release.

circle-info

For an overview of MariaDB Connector/J see the About MariaDB Connector/J page

Notable Changes

circle-exclamation

Change from 2.0.1

The "useServerPrepStmts" option now defaults to false.

Benchmarks show that if the query has already been used (then prepared), there is a significant performance increase. On the other hand, when the command is not already prepared, the additional exchange for preparing this command will slightly slow down the overall execution of the command

prepare_bench

The applications that repeatedly use the same queries have the ability to activate this option, but the general case is to use the direct command (text protocol).

Binary protocol is permissive and did permit using character for LIMIT that accept only integer :

With the "useServerPrepStmts" set to false, LIMIT parameter must be set to numeric field:

New Option :CONJ-465arrow-up-right - new option "enablePacketDebug"

Change version 2.0.0 release candidate

Handle CLIENT_DEPRECATE_EOF flag

CONJ-318arrow-up-right Implement some protocol changes that permit saving some bytes. (part of MDEV-8931arrow-up-right).

Handle SERVER_SESSION_STATE_CHANGE status flag

CONJ-341arrow-up-right With a MariaDB 10.2 or MySQL 5.7 server, ensure driver state:

  • driver now always gets the current database, even when the database is changed by a query.

  • when using rewriteBatchedStatements, return the correct autoincrement ids even when the session variable @auto_increment_increment has changed during the session.

Improve setQueryTimeout to use SET STATEMENT max_statement_time

CONJ-393arrow-up-right The 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 the query ends before timeout, the scheduled task will be canceled.

For servers > MariaDB 10.1.2, the query timeout will be handled server side using the "SET MAX_STATEMENT_TIME FOR" command.

Real cancelling streaming result sets

CONJ-315arrow-up-right When closing a statement that was fetching a result-set (using Statement.setFetchSize) and all rows were not read at the time of closing, a kill query command will be executed on close, to avoid having to parse all remaining results.

Memory optimization: streaming query

CONJ-442arrow-up-right Very large commands now don't use an intermediate buffer. Commands are sent directly to socket avoiding using memory. This permits sending very large objects (1G) without using any additional memory.

Faster connection

CONJ-366arrow-up-right Faster connection: bundle first commands in authentication packet The driver executes different commands on connection. Those queries are now sent using pipeline (all queries are sent, only then are all results read).

New Options:

Performance improvement storing data in resultset

CONJ-368arrow-up-right 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 :

Misc

This page is: Copyright © 2025 MariaDB. All rights reserved.

spinner

Last updated

Was this helpful?