Jaybird 3.0.11
The following has been changed or fixed since Jaybird 3.0.10:
- Changed: Closing a statement will now be sent to the server immediately (JDBC-638)
For the v11 protocol and up (Firebird 2.1 or higher), Jaybird applied an optimization copied from Firebird to not flush 'free' packets that are used to close a cursor or close a statement. The packet will then be sent at a later time when something else is sent to the server.
Unfortunately, this has the side effect that if the statement close is the last thing to happen in a long time (e.g. the connection is idle, or returned to a pool), then the statement may retain locks on metadata objects longer than necessary, which can prevent DDL from succeeding.
This change only affects Jaybird's implementation of the Firebird wire protocol; connections with the 'native' protocol will still delay sending the 'free' packet.
See the full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.11</version>
* The artifactId depends on your target Java version: jaybird-jdk18
for Java 8 and higher, or jaybird-jdk17
for Java 7