Subject Re: timeout a pending connection via a bad network?
Author Adam
> I understand. By killing the client the transaction will remain,
> "limbo", if I recall correct.

No, a limbo transaction is only a possibility if you have 2 phase
commits, ie, you are dealing with multple databases with a single
transaction, and you go to commit / rollback and the comms goes
somewhere along the way and the databases are not sure whether each
other is committed or not. This is limbo, it might be committed, it
might not be, but it will need your help to decide what to do.

What you are describing is an abandoned connection. As long as
Firebird thinks the connection is active, it is just treated like any
other normal uncommitted transaction. Once Firebird has discovered the
connection no longer exists, it will flag the transaction as rolled
back, so there is no limbo to deal with.

I do not know the mechanism used to test whether the connection is
active, but it seems pretty reliable in my experience.