Skip to content

Jaybird 3.0.0-beta-3

Pre-release
Pre-release
Compare
Choose a tag to compare
@mrotteveel mrotteveel released this 05 Mar 12:16
· 1330 commits to master since this release

Jaybird 3.0 is a big change from Jaybird 2.2 and earlier. We have rewritten the entire low-level implementation to be able to support protocol improvements in newer Firebird versions, we have made changes with a stricter interpretation of the JDBC requirements, and we have removed some parts that were either obsolete or not functioning correctly.

See the Jaybird 3.0.0-beta-3 release notes for more information.

IMPORTANT

This version is provided for testing purposes only. We'd appreciate your feedback, but we'd like to emphasize that this version is not intended for production.

The protocol implementation has been fundamentally rewritten and changes have been made for stricter JDBC conformance. As a result the driver might exhibit different behavior than previous versions. Read the release notes carefully to see if those differences are intentional.

Bug reports about undocumented changes in behavior are appreciated. Feedback can be sent to the Firebird-java mailing list or reported on the issue tracker http://tracker.firebirdsql.org/browse/JDBC.

Changes since Jaybird 3.0.0-beta-2

  • Improved: Support for Firebird 4 object name length of 63 characters (JDBC-467)
  • Various improvements to thread safety and incomplete object validity checks. (JDBC-469) (JDBC-470)
    Some methods did not throw an SQLException when the object (ResultSet, Statement, Connection) was already closed. This sometimes lead to an unclear RuntimeException at a later point. In other cases an SQLException was thrown, even though the object was valid.
  • Fixed: Unsupported or unexpected operation code 0 in processOperation when executing stored procedure (JDBC-472)
  • Fixed: specifying org.firebirdsql.jdbc.defaultConnectionEncoding does not set connection character set (JDBC-473)
    As part of this fix we also removed the need to have the system property set before Jaybird was loaded. It will now be queried dynamically for each connection without a connection character set.
  • Fixed: ClassCastException on downgrade of result set concurrency (JDBC-474)
  • Improved: Statement.setFetchDirection and ResultSet.setFetchDirection now allow the values ResultSet.FETCH_REVERSE and ResultSet.FETCH_UNKNOWN (JDBC-475)
    These values are effectively ignored, and result set behavior is the same as with the default value of ResultSet.FETCH_FORWARD.
  • Updated DatabaseMetaData.getSqlKeywords (JDBC-476)
    The database metadata now returns the reserved words specific to the connected Firebird version. The reserved words, excluding those defined in SQL:2003, for versions 2.0, 2.1, 2.5 and 3.0 are available.
  • Improved: Calling Blob.setBytes and Clob.setString is now supported for position 1, on a new blob. (JDBC-478)
  • Upgrade antlr-runtime dependency from 4.5.3 to 4.6 (JDBC-480)
    If you tested with previous snapshot or beta versions of Jaybird 3.0, make sure to replace antlr-runtime-4.5.3.jar with antlr-runtime-4.6.jar.
  • Fixed: Generated keys query for table with space (or any other character below \u0022) in its (quoted) name returns empty generated keys result set (JDBC-481)