Jaybird 6.0.0-beta-1 available for testing

Jaybird 6.0.0-beta-1 is now available for testing. You can download the distribution zip from Jaybird 6.0.0-beta-1 (GitHub).

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.

What’s new

The major changes and new features in Jaybird 6 are:

Upgrading from Jaybird 5 should be straightforward, but please make sure to read Compatibility changes before using Jaybird 6. If you’re using Jaybird with the native or embedded connections, you will need to make some additional changes. See also Upgrading from Jaybird 5 to Jaybird 6.

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 https://github.com/FirebirdSQL/jaybird/issues.

See also the full Jaybird 6.0.0-beta-1 release notes.

Maven

The release is also available on Maven:

groupId: org.firebirdsql.jdbc
artifactId: jaybird
version: 6.0.0-beta-1

If you use the native or embedded protocol, you need to add the jaybird-native dependency:

groupId: org.firebirdsql.jdbc
artifactId: jaybird-native
version: 6.0.0-beta-1

For ChaCha64 wire encryption support, add the chacha64-plugin dependency:

groupId: org.firebirdsql.jdbc
artifactId: chacha64-plugin
version: 6.0.0-beta-1

Jaybird 5.0.6 released

We are happy to announce the release of Jaybird 5.0.6.

The following has been fixed since Jaybird 5.0.5:

  • Fixed: Exceptions during statement execution did not always complete the statement, which could delay transaction commit in auto-commit mode (#806)
  • Fixed: Closing a connection when the database was shutdown, or the connection was otherwise broken, could result in a NullPointerException (#812)
  • Fixed: Error “Column unknown; IND.RDB$CONDITION_SOURCE” when calling DatabaseMetaData.getIndexInfo on Firebird 5.0 with a Firebird 4.0 (ODS 13.0) database (#813)
  • Fixed: Calling ResultSet.wasNull() when on the insert-row throws a SQLException instead of reporting the null-state of the last retrieved column (#816)
  • Fixed: Inserting a row into a result set backed by a server-side scrollable cursor could include the inserted row twice (#819)
  • Improvement: Updated JNA dependency to version 5.15.0 (#823)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, 21, and 23 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.5 released

We are happy to announce the release of Jaybird 5.0.5.

The following has been fixed since Jaybird 5.0.4:

  • Fixed: FBResultSetMetaData.getPrecision would always estimate the precision of NUMERIC or DECIMAL columns instead of obtaining the actual precision if the column position was 71 or higher (#731)
  • Optimized the query to retrieve extended field info for ResultSetMetaData.getPrecision to only retrieve columns of type NUMERIC or DECIMAL (#732)
  • Fixed: PreparedStatement.executeBatch() of statement without parameters throws “Statement used in batch must have parameters [SQLState:07001, ISC error code:335545186]” on Firebird 4.0 or higher (#788)
  • New feature: ResultSetMetaData.isAutoIncrement(int) reports true for identity columns if Jaybird can identify the underlying table and column (#793)
  • New feature: Boolean connection property extendedMetadata (default true) to disable querying of extended metadata for getPrecision(int) and isAutoIncrement(int) of ResultSetMetaData (#795)
  • Improvement: The FILTER_CONDITION of DatabaseMetaData.getIndexInfo is populated for Firebird 5.0 partial indices (#797)
  • Fixed: ResultSet.isBeforeFirst() and ResultSet.isAfterLast() should always report false for an empty result set (#807)
  • Improvement: Statement.getResultSet no longer throws a SQLException with message “Only one result set at a time/statement” if the current result set has already been returned by executeQuery or a previous call to getResultSet (#762)
  • Improvement: Updated JNA dependency to version 5.14.0 (#810)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, 21, and 22 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.4 released

We are happy to announce the release of Jaybird 5.0.4.

The following has been fixed since Jaybird 5.0.3:

  • Firebird 5.0 is now formally supported
  • Fixed: Potential NPE when warningMessageCallback is null while reading operations or consuming packets (#778)
  • Fixed: FBRowUpdater incorrectly considers result set with only partial PK updatable — backported from Jaybird 6 (#780)
  • Fixed: Use of offset timezone names (e.g. +05:00) for sessionTimeZone would result in a warning being logged, and an incorrect conversion applied (in UTC instead of the offset) when using the legacy time types — backported from Jaybird 6 (#787)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 21 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.3 and 4.0.10 released

We are happy to announce the release of Jaybird 5.0.3 and Jaybird 4.0.10.

With this release, Jaybird 4 is end-of-life. We recommend upgrading to Jaybird 5.

Jaybird 5.0.3

The following has been changed or fixed since Jaybird 5.0.2:

  • Improvement: Do not reject attempts to read blob id 0 — backported from Jaybird 6 (#765)
  • Fixed: on CHAR fields, a too short value could be returned if the string contained one or more codepoints represented by surrogate pairs and the string length in char exceeded the maximum string length — backported from Jaybird 6 (#770)
  • Fixed: CallableStatement.getXXX(String) could return value from wrong column — backported from Jaybird 6 (#772)
  • Updated: error messages updated from Firebird 5.0.0.1272

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, and 21 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 4.0.10

Jaybird 4.0.10 is the last release of Jaybird 4, and Jaybird 4 is now end-of-life. We recommend upgrading to Jaybird 5.

The following has been changed or fixed since Jaybird 4.0.9

  • Fixed: Reconnect transaction with a transaction id exceeding 0x7FFF_FFFF did not work (#734)
  • Fixed: CallableStatement.getXXX(String) could return value from wrong column — backported from Jaybird 6 (#773)
  • Updated: error messages updated from Firebird 5.0.0.1272

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17, and 21 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.2 released

We are happy to announce the release of Jaybird 5.0.2.

The following has been fixed since Jaybird 5.0.1:

  • Fixed: Reconnect transaction with a transaction id exceeding 0x7FFF_FFFF did not work (jaybird#734)
  • New feature: add connection property parallelWorkers to set Firebird 5.0 isc_dpb_parallel_workers (jaybird#737)
  • New feature: add MaintenanceManager.upgradeOds() for the Firebird 5.0 gfix/service repair action to perform a minor ODS upgrade of a database (jaybird#738)
  • New feature: add parallel workers support for BackupManager (jaybird#739)
  • New feature: add parallel workers support for sweep in MaintenanceManager (jaybird#740)
  • Fixed: DatabaseConnectionProperties.setServerBatchBufferSize(int) ignored provided value and always set default (0, or “use server-side maximum”) (jaybird#741)
  • New feature: add MaintenanceManager.fixIcu() for the Firebird 3.0 gfix/service repair action “ICU” to update or rebuild collations and indexes when the ICU version changed (jaybird#744)
  • Fixed: The first call to getTableStatistics() of a FBTableStatisticsManager instance returned only a few or even no tables; if no tables were returned, subsequent calls would also return no tables (jaybird#747)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 20 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.1 and 4.0.9 released

We are happy to announce the release of Jaybird 5.0.1 and Jaybird 4.0.9.

Jaybird 5.0.1

The following has been fixed since Jaybird 5.0.0:

  • Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)
  • Fixed: CallableStatement.getString and CallableStatement.getObject would incorrectly trim string values (jaybird#729)
  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 4.0.9

The following has been fixed since Jaybird 4.0.8:

  • Fixed: Some methods of FBClob threw NullPointerException when attempting to use after implicit or explicit free() (jaybird#719)
  • Improvement: If the default JVM time zone is a GMT offset, e.g. GMT-08:00, configure sessionTimeZone with offset only, e.g. -08:00 (jaybird#720)
  • Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)
  • Fixed: CallableStatement.getString would incorrectly trim string values (jaybird#729)
  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.0 released

Jaybird 5 is – from a JDBC perspective – an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.

The major changes and new features in Jaybird 5 are:

Upgrading from Jaybird 4 to 5 should be simple, but please make sure to read Compatibility changes before using Jaybird 5. See also Upgrading from Jaybird 4 to Jaybird 5.

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 https://github.com/FirebirdSQL/jaybird/issues.

See also the full Jaybird 5.0.0 release notes and Firebird Type 4 JDBC Driver Downloads.

Jaybird 5.0.0-beta-1 released for testing

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.

Jaybird 5 is – from a JDBC perspective – an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.

The major changes and new features in Jaybird 5 are:

Upgrading from Jaybird 4 to 5 should be simple, but please make sure to read Compatibility changes before using Jaybird 5. See also Upgrading from Jaybird 4 to Jaybird 5.

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 https://github.com/FirebirdSQL/jaybird/issues.

See also the full Jaybird 5.0.0-beta-1 release notes.

Improved Hibernate ORM Firebird dialect support

Mark Rotteveel created a Ticket and Pull Request for Hibernate ORM to improve Firebird dialect with fixes to a number of issues.

Improve Firebird dialect to fix a number of issues:

  • Typing of aggregates when using parameters
  • Add cast to AVG of integral type
  • Quote identifiers starting with an underscore
  • Correct inverted version check for Boolean support
  • Add or update various supports methods to return correct information
  • Render datetime literals without using JDBC escape
  • Fix rendering of literals with offset at offset 00:00
  • Fix rendering of create index statement
  • Fix rendering of CASE where all when clauses have a parameter to identify type of result
  • Add missing rendering of virtual columns to select list
  • Fix rendering of IN against a parameter

Updated a number of tests so they are either passing for Firebird, or ignored for Firebird.

1 2 3 5