When Jaybird uses distributed transactions, it adds information on the Xid (the distributed transaction id) in the call to isc_prepare.
When the transaction is limbo-ed by destroying the connection, another connection can recover that by performing a reconnect and then either committing or rolling back that transaction. After successfully recovering a transaction that way, the current implementation in Jaybird deletes the entry in RDB$TRANSACTIONS (probably as a form of house-keeping, or maybe at implementation time the meaning of RDB$TRANSACTION_STATE was unclear). With the recent changes to disallow access to the system tables this last step no longer works. This leads me to the questions: 1) When are prepared or rolled back transactions removed from RDB$TRANSACTIONS? Or are they kept indefinitely? 2) Is there an alternative to removing this information? Mark -- Mark Rotteveel ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel