Ulf Wendel

MySQL Connector/C++ 1.0.4 beta is available: source and binary packages

The first beta version of MySQL Connector/C++ is available for download. The MySQL Driver for C++ offers a convenient API derived from the industrial standard JDBC 4.0. You can use the driver to connect to the MySQL Server 5.1 or newer. Please find more details in the official announcement mail.

GA will be almost identical to Beta

The 1.0.4 beta release is the first combined source and binary release. You can either build the MySQL Driver for C++ from source yourself or use the convenience of a prebuild binary distribution. For the Windows platform we are offering the binaries as a MSI Installer or, like on all other platforms, compressed GNU tar archives (.tar.gz). The MSI Installer does not require any special privileges to run because all it does is copying the Connector/C++ files. We do not offer platform specific binary package format such as RPM or pkgadd packages yet but we plan to do so for the GA release.

The beta version contains all features you will find in the GA release. No major features are missing. Last minute additions, may happen. We believe to have everything covered that is required by the latest development version of MySQL Workbench. The latest development version of MySQL Workbench runs successfully on MySQL Connector/C++ since November 2008.

We hope to further improve our already very good test results in the GA version. We pass more than 99,5% of our >720 tests pass on all >40 build platforms against the latest patch level of MySQL 5.1.31. About 50% of our tests are derived from our JDBC compliance test suite. The MySQL Connector/C++ seems to have no or very few platform specific issues. If a test passes, it passes on all platforms.

The tests cover about 85% of our code base. The remaining 15% are very difficult to reach. They are usually about handling server errors that are very unlikely to happen.

The MySQL driver for C++ supports more than 40 platforms. The list of supported platforms is documented in the MySQL Reference Manual. MySQL Connector/C++ aims to support all platforms also supported by the latest GA version of the MySQL Server 5.1. Please check the README file contained in every binary distribution (*.tar.gz) for information on what compiler and settings has been used to build the binaries.

Changelog – from Alpha to Beta

Below you can find a detailed description of additions, changes and fixed performed since the release of the last alpha version about four weeks ago.

Additions:

  • Prepared support for upcoming Connector/C. (Georg)
  • Added Windows GUI (MSI) installer. (Georg)
  • Added “metadataUseInfoSchema” to connection propery map which allows you to control the use of the INFORMATION_SCHEMA for meta data. (Andrey)
  • Implemented MySQL_ConnectionMetaData::supportsConvert(from, to). (Andrey)
  • Introduced sql::DataType::YEAR to complement MySQL’s YEAR type. (Andrey)
  • Introduced PreparedStatement::getMetaData(). (Andrey)
  • Introduced ResultSetMetaData::isZerofill(), which is not in the JDBC specification. (Andrey)
  • Implementation for MySQL_DatabaseMetaData::getProcedures() when INFORMATION_SCHEMA is asked not to be used. (Andrey)

Fixes and Changes:

  • Bumping up CMake minimum version requirement from 2.4.2 to 2.6.2. We need the latest version for Windows. (Lawrin)
  • Fixed a bug in all implementations of ResultSet::relative() which was giving wrong return value although positioning was working correctly. (Andrey)
  • Fixed a leak in MySQL_PreparedResultSet when the result was containing a BLOB column. (Andrey)
  • Fixed all implementations of ResultSet::isNull() to check whether the current position is on a real row, not isBeforeFirst() nor isAfterLast(), like all getXXX methods do. (Andrey)
  • Removed MySQL_DatabaseMetaData::getProcedureColumns() from the interface. Until now it was returning always an empty result set. Full implementation will be added at a later stage. (Andrey)
  • Changed a bunch of methods of DatabaseMetaData()::getXXX, which returned `int` to return `unsigned int` because it makes more sense. (Andrey)

Additional Resources

Comments are closed.