The original ODBC 3.51 driver was incomplete and admittedly somewhat of a quick hack, containing some debatable code. For that reason, Connector/ODBC 5 started as a complete rewrite. After 2 years it had 65 KLOC, but no tests and was in part overdesigned. That project was started but never finished, and had some deep Qt dependencies.
In the meantime, the original ODBC 3.51 has had 6 new releases and over 200 bugs fixed. As for ODBC 5.1, debatable parts of the code have been rewritten. The new ODBC 5.1 driver thus shares almost solely its major version number with the old ODBC 5 driver, which never went past Beta stage. The development of the old ODBC 5 driver has now stopped.
The new ODBC 5.1 driver, like 3.51, supports all relevant platforms (including Win64). While ODBC mostly is relevant for Windows, we have some (but not many) Linux based ODBC users.
Overall, ODBC 3.51 (released as 3.51.20) is now in a better state than ever. The ODBC QA team has written several hundred new tests. Without doubt, the 3.51 code base is now a good fundament for the new ODBC 5.1 version.
ODBC 3.51 supports a subset of the ODBC Core interface, plus some Level 1 and Level 2 features. ODBC 5.1 should be a complete implementation of the ODBC Core interface, plus more Level 1 and 2 features.
We aren't going to reach complete Level 1 conformance because we won't be supporting asynchronous execution. and we won't support SQLProcedureColumns() as we at this point cannot get stored procedure parameter info from the server.
The stumbling blocks for full level 2 conformance are in/out and out parameters, and bookmarks, related to MySQL Server.
New features include Unicode support, and descriptors for connectors and metadata as required by Level 3. The following features are already supported in ODBC 5.1.0
- Support for SQL_C_WCHAR.
- Support for Unicode functions (SQLConnectW, etc.)
- Descriptor support (SQLGetDescField, SQLGetDescRec, etc.)
Before ODBC 5.1 goes beta, you can expect the following functions
- Replace installer library with new implementation (from ODBC 5.0 tree)
- Implement native Windows setup library
- Implement native Mac OS X setup library
- Replace OPTIONS flags with individual DSN settings (but support OPTIONS for backwards-compatibility)
- Fix support for SQLBIGINT (Bug #28887):
- Make diagnostics support standards-compliant:
- Support for SQL_ATTR_METADATA_ID:
- Support for SQL_NUMERIC_STRUCT:
- Implement SQLBrowseConnect():
- Implement SQLCancel() (Bug #15601):
- Implement arrays of parameters:
MySQL has a number of beta customers identified by the Support team. They represent user bases for which Unicode is interesting. From the Community of MySQL users, we are looking for testers who can expand upon the quality assurance done inside MySQL, which is based on automated tests.
Especially, we're looking for beta testers who work with closed source applications like Microsoft Access, PowerBuilder, and Borland tools. Testers should contact Lenz Grimmer or Kaj ArnÃƒÂ¶ in the MySQL community team (at firstname.lastname@example.org), who will establish the contact between the ODBC team and the beta testers.