Subject Re: [Firebird-Java] Shut down the pool?
Author Roman Rokytskyy
>> They get rolled back unless you used distributed transaction coordinator
>> and XADataSource. In that case it might happen that shutdown happens
>> between prepare and commit, then the transaction remains in limbo.
>> JayBird 2.0 supports correct transaction recovery, JayBird 1.5.x -
>> doesn't.
>
> Thanks for the answers. I love piece of mind regarding these issues.

Probably I should have told you that the get rolled back during a
housekeeping job in Firebird, not as direct rollback when server detects
broken connection. You probably want to read "Firebird for the Database
Expert" series by Ann W. Harrison on IBPhoenix site, the version management
part.

The more precise statement about the behavior is that JayBird uses
start/commit calls for "normal" JDBC case and start/prepare/commit for XA
case. The uncommitted and unprepared transaction will be eventually rolled
back, the prepared but uncommited transaction (only XA) remains in limbo and
requires external recovery.

Roman