After executing this, the connection to the database is physically still open because a transaction was started when the binary stream was opened (eg a drop database using FBManager fails). This transaction is never terminated and this causes an exception in FBManagedConnection.destroy(), but this exception is swallowed in FBStandaloneConnectionManager.connectionClosed(...).
Submitted by: @mrotteveel
Is related to JDBC307
Having an output blob open in auto-commit prevents connection close. The connection close does not raise an exception.
Code to reproduce:
Connection conn = getConnectionViaDriverManager();
try {
FBBlob blob = (FBBlob) conn.createBlob();
FBBlobOutputStream stream = (FBBlobOutputStream) blob.setBinaryStream(1);
} finally {
conn.close();
}
After executing this, the connection to the database is physically still open because a transaction was started when the binary stream was opened (eg a drop database using FBManager fails). This transaction is never terminated and this causes an exception in FBManagedConnection.destroy(), but this exception is swallowed in FBStandaloneConnectionManager.connectionClosed(...).
Commits: 8c2f9f9 ccb7fb4
The text was updated successfully, but these errors were encountered: