Subject Re: [Firebird-Java] Propably Bug in JayBird or Firebird
Author Roman Rokytskyy
> If I try again, it fails again (as expected).
> However, this time the database IS CORRUPTED, as the transaction
> seems to get partially commited.

Confirmed. This bug happens only when connection is returned to the
connection pool by calling the close() method without committing or rolling
back the transaction before. At this point connection keeps the active
transaction. When the connection is obtained from the pool for the second
time, the transaction is committed.

I will fix that in CVS and backport the fix to 2.1.x branch. In the meantime
you can call rollback() before calling the close() method (that will be
exactly the fix in the pooling code). It is no-op when no active transaction
is there and it will rollback active transaction according to specification
if it was not ended before closing the connection.