We are happy to announce the release of Jaybird 3.0.6.
This release is largely a bugfix release, but contains additional support for Firebird 4.
Jaybird 3.0.6 contains the following fixes and changes:
Fixed: Exceptions during fetch of cached result sets (holdable over commit, scrollable and metadata) prevented prepared statement reuse/re-execute with error “Statement state CURSOR_OPEN only allows next states [CLOSING, PREPARED, ERROR], received EXECUTING” (JDBC-531)
Improvement: Added FBManager.setDefaultCharacterSet to set default database character set during database creation (JDBC-541)
New feature: Support for Firebird 3 case sensitive user names (JDBC-549)
Fixed: Savepoints did not work in connection dialect 1 as savepoint names were always quoted (JDBC-556)
Changed: The DatabaseMetaData statement cache introduced in Jaybird 3 was unlimited, it is now limited to 12 prepared statements; the least recently used statement will be closed and removed when a new statement is added (JDBC-557)
Fixed: UPDATE OR INSERT with existing RETURNING clause handled incorrectly for generated keys (JDBC-566)
Fixed: Exceptions during initialization of result sets would not properly close the database cursor leading to error “Current statement state (CURSOR_OPEN) does not allow call to prepare” on reuse of the statement (or errors similar to described for JDBC-531 above). (JDBC-571)
New feature: boolean connection property ignoreProcedureType to disable usage of metadata for stored procedure types in CallableStatement When set to true>, call escapes and EXECUTE PROCEDURE will default to use EXECUTE PROCEDURE and not switch to SELECT for selectable stored procedures. (JDBC-576)
New feature: connection properties timeZoneBind and sessionTimeZone for limited support for Firebird 4 TIME(STAMP) WITH TIME ZONE types, and decfloatBind for limited support for Firebird 4 DECFLOAT types. (JDBC-538)
Fixed: Connection property defaultIsolation/isolation did not work through DriverManager, but only on DataSource implementations. (JDBC-584)
Jaybird 3.0 supports Firebird 2.0 and higher, on Java 7, 8 and 9 and
higher. Basic Java 9 and higher compatibility is provided through the
Java 8 version of the driver.
Bundle of Firebird native client libraries for use with Jaybird 3 and higher.
This bundle packages fbclient.dll / libfbclient.so for the Windows and Linux platforms (32 and 64 bit), and can be used with Jaybird for the native and local protocols. It does not support embedded protocol.
The first beta for Jaybird 4 is available for testing.
We’d really appreciate it if you take the time to test this version
of Jaybird with your applications. 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.
Jaybird 4 is – compared to Jaybird 3 – an incremental release that
builds on the foundations of Jaybird 3. The focus of this release has
been on further improving JDBC support and adding support for the new
data types and features of Firebird 4.
The main new features are:
Wire encryption support (backported to Jaybird 3.0.4)
Database encryption support (backported to Jaybird 3.0.4)
The Firebird JDBC team is happy to announce the release of Jaybird 2.2.4.
This release contains the following fixes:
Fixed: Exceptions during statement preparation leave connection and transaction open after explicit close (JDBC-311)
Fixed batch update (or insert) with blob set through setBinaryStream() sets empty blob for all but the first batch entry (JDBC-312)
Fixed incomplete checks of database, transaction, statement and blob handle validity before continuing with actions. These incomplete checks could lead to unexpected exceptions (for example a NullPointerException in iscDatabaseInfo) (JDBC-313)
Fixed error when setting connection charset equal to "file.encoding" java property (JDBC-314)
Fixed connection character set not correctly set when specifying the Java connection characterset (charSet or localEncoding property) (JDBC-315)
Fixed incorrect lengths and/or radix reported by getTypeInfo and getColumns metadata (JDBC-317, JDBC-318)
Added fallback of loading GDSFactoryPlugin implementations to prevent NullPointerException in Hibernate reverse engineering wizard in NetBeans (JDBC-325)
Fixed: Jaybird should specify dialect 3 in dpb when no explicit dialect was set (JDBC-327)
Fixed: several DatabaseMetaData methods defined by JDBC to only accept the actual table name also accepted a LIKE-pattern or empty string or null. This was changed to conform to JDBC. This change can break applications that relied on the incorrect behavior (JDBC-331)
Affected methods are: getPrimaryKeys, getBestRowIdentifier, getImportedKeys, getExportedKeys and getCrossReference. As part of this change getIndexInfo now handles names in the wrong case slightly different.
Jaybird 3.0 will further modify and restrict the pattern matching and case sensitivity of metadata methods. See Future changes to Jaybird in the release notes for more details.