Subject Jaybird 2.2.2 released
Author Mark Rotteveel
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

This release contains the following changes fixes:

* 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.


--
Mark Rotteveel