Subject [firebird-support] FB 2.1 transaction question
Author Rustam
Sometimes our application works from remote place via VPN over wireless Internet connection. Often connections brakes and we have active DB connections in MON$ATTACHMENTS for a long time and their TA's blocks further work. Is this same case as in your reply?
At least we receive an errors in 'unique' indexes - we use artificial counters in special table to generate sequential document numbers for each employee. So, when employee reconnect to continue his work - he can't create new document: TA, who was increase this counter, was broken and was not committed, so new document watch an old counter, and gets an already used next counter value. But previous document in broken TA, that uses his next counter value, was inserted in respective table and his number is already in unique index (but invisible for new TA's).
This belongs not only for counters. E.g., we create a customer with unique short name, and when we reconnect after connection lose - we can't re-create customer with this short name, until broken connection will closed.
Firebird version: 2.5.8.

For such extremal cases your application can present for SYSDBA special window that shows table with data from MON$ATTACHMENTS (login, connection's start date, client IP, app name).
Deleting record from MON$ATTACHMENTS will close connection, so you can continue.

Again, only necessary in the case where the connection remains active while the transaction is stalled.