Jaybird 2.2.2 Released

The Firebird JDBC team is happy to announce the release of Jaybird 2.2.2.

See http://www.firebirdsql.org/en/jdbc-driver/ for the downloadlinks.

The release is also available on maven:
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>2.2.2</version>

The artifactId depends on your target Java version: jaybird-jdk15,
jaybird-jdk16 or jaybird-jdk17

The following has been changed or fixed in Jaybird 2.2.2:

  • Fixed: FBMaintenanceManager.listLimboTransactions() reports incorrect transaction id when the result contains multi-site transactions in limbo (JDBC-266)
  • Fixed: Calling PreparedStatement.setClob(int, Clob) with a non-Firebird Clob (eg like Hibernate does) or calling PreparedStatement.setClob(int, Reader) throws FBSQLException: “You can’t start before the beginning of the blob” (JDBC-281)
  • Fixed: Connection property types not properly processed from isc_dpb_types.properties (JDBC-284)
  • Fixed: JNI implementation of parameter buffer writes incorrect integers (JDBC-285, JDBC-286)
  • Changed: Throw SQLException when calling execute, executeQuery, executeUpdate and addBatch methods accepting a query string on a PreparedStatement or CallableStatement as required by JDBC 4.0 (JDBC-288)
    NOTE: Be aware that this change can break existing code if you depended on the old, non-standard behavior! With addBatch(String) the old behavior lead to a memory leak and unexpected results.
  • Fixed: LIKE escape character JDBC escape ({escape ‘<char>’}) doesn’t work (JDBC-290)
  • Added: Support for a connect timeout using connection property connectTimeout. This property can be specified in the JDBC URL or Properties object or on the DataSource. If the connectTimeout property is not specified, the general DriverManager property loginTimeout is used. The value is the timeout in seconds. (JDBC-295)
    For the Java wire protocol the connect timeout will detect unreachable hosts. In the JNI implementation (native protocol) the connect timeout works as the DPB item isc_dpb_connect_timeout which only works after connecting to the server for the op_accept phase of the protocol. This means that – for the native protocol – the connect timeout will not detect unreachable hosts within the timeout. As that might be unexpected, an SQLWarning is added to the connection if the property is specified with the native protocol.
  • As part of the connect timeout change, hostname handling (if the hostname is an IP-address) in the Java wire protocol was changed. This should not have an impact in recent Java versions, but on older Java versions (Java 5 up to update 5) this might result in a delay in connecting using an IP-address, if that address can’t be reverse-resolved to a hostname. Workaround is to add an entry for that IP-address to the /etc/hosts or %WINDIR%\System32\Drivers\etc\hosts file.

Jaybird undocumented tip : Is there any way to set socket timeouts?

Is there any way to set socket timeouts?
Roman Rokytskyy answered :

-Yes, the property is called so_timeout and is directly passed when the socket is opened (see Socket.setSoTimeout documentation). You can append the property to the JDBC URL after question mark:

jdbc:firebirdsql:myhost/3050:/path/to/db.fdb?so_timeout=12345

– I have added this feature on request for some very special case. In general you don’t need this property, since the server is not supposed to crash and the network is not supposed to break as well, at least not for database applications. So, the solution is to solve the crash, not to add a workaround for it.

ps: soon it will be added to documentation

Beta version of Jaybird 2.2 released with support for jdbc 4.1

The Firebird JDBC team is happy to announce the release of Jaybird 2.2.0
beta-1.

This release contains the following changes:
* Enhanced support for JDBC 4.0 (Java 6)
* Support for JDBC 4.1 (Java 7) – including try-with-resources support,
* Implementation of getGeneratedKeys(),
* Enhanced support for the services API,
* Support for 64 bit native libraries for Type 2 / Embedded,
* A number of bug fixes

Downloads are available from:
https://sourceforge.net/projects/firebird/files/firebird-jca-jdbc-driver/

The beta release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>2.2.0-beta-1</version>

The artifactId depends on your target Java version: jaybird-jdk15,
jaybird-jdk16 or jaybird-jdk17

Problems, bugs: please mail us on the Firebird-Java group or add a
ticket to the tracker on http://tracker.firebirdsql.org/browse/JDBC

*) As this is the first release to Maven and we need manual
authorization from Sonatype, it can take several days before the
artifacts are really available on Maven

Mark Rotteveel

Jaybird 2.2 beta hopefully will be released this weekend with jdbc 3.0 and open/libre office support

News via Mark Rotteveel on twitter

Finishing touches to Jaybird 2.2 beta releasenotes, hopefully I will be able to finally release it this weekend

ps:
Jaybird 2.2 is the next Firebird jdbc driver release with many fixes which will include improved support of the JTA specification (XADataSource and XAResource interfaces). Additionally it already has improved support for OpenOffice.org/LibreOffice Base component, which deviates in some places from the JDBC 3.0 specification.

1 2 3 4 5