The MariaDB developers have made several releases in the past week. Rather than post about all of them separately, we decided to combine them into one post. Details for each release are available on their individual Release Notes and Changelog pages.

MariaDB 5.5.36

First up is MariaDB 5.5.36. This is a Stable (GA) release. Apart from general maintenance, bug fixes, and updates, TokuDB is now included in RPM packages for CentOS 6 on x86-64.

Download MariaDB 5.5.36

Release Notes Changelog What is MariaDB 5.5?


MariaDB Galera Cluster 10.0.7

Next is MariaDB Galera Cluster 10.0.7. This is an Alpha release. It is being released now to get it into the hands of any who might want to test it. Do not run Alpha releases on production systems! This version of MariaDB Galera Cluster supports wsrep API v25 which means MariaDB Galera Cluster can be used with either a 25.2.x or 25.3.x Galera wsrep provider. A 25.3.x wsrep provider is included in the MariaDB repositories. And both 25.3.x and 25.2.x wsrep providers are available on the downloads page.

Download MariaDB Galera Cluster 10.0.7

Release Notes Changelog What is MariaDB Galera Cluster?


MariaDB Java Client 1.1.6

The last release in the roundup is MariaDB Java Client 1.1.6. This is a Stable (GA) release. Several bugs were fixed and a new connection parameter, serverTimezone, was added. If set, timezone conversions will occur when storing temporal data with preparedStatement and when reading data using ResultSet. The effect is similar to setting the time_zone 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 datetime and timestamp datatypes, while the server-side option has no effect on datetime.

Download Java Client 1.1.6

Release Notes Changelog Java Client Overview


Thanks, and enjoy MariaDB!

The MariaDB project is pleased to announce the immediate availability of the MariaDB Java Client 1.1.4. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the About the MariaDB Java Client page in the MariaDB Knowledge Base for general information about the client.

Download MariaDB Java Client 1.1.4

Release Notes Changelog About the MariaDB Java Client

New functionality

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 (CONJ-50, CONJ-51). More information about the JNA project can be found at https://github.com/twall/jna

Bugs fixed in this release

Some of the bugs fixed include:

  • ResultSet.getTimestamp() did not work with TIME columns (CONJ-54)
  • DatabaseMetaData will now return correct information about case senstivity handling, dependent on lower_case_table_names database parameter(CONJ-55)
    • supportsMixedCaseIdentifiers(),supportsMixedCaseQuotedIdentifiers() will return true if lower_case_table_names is 0 (case-sensitive)
    • storesLowerCaseIdentifiers(),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)

The MariaDB Java Client can be used with MariaDB, MySQL, and Percona Server.

The MariaDB project is pleased to announce the immediate availability of the MariaDB Java Client 1.1.3. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the About the MariaDB Java Client page in the AskMonty Knowledgebase for general information about the client.

Download MariaDB Java Client 1.1.3

Release Notes Changelog About the MariaDB Java Client

New functionality

  • 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. (CONJ-36)
  • 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. (CONJ-48)

Bugs fixed in this release

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) (CONJ-34)
  • If custom SocketFactory creates an already connected socket, do not execute Socket.connect() (CONJ-37)
  • 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) (CONJ-38)
  • 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)