One way to handle this is via manual inserts (and deletes) in a dedicated table. Something like:
1. Insert a row into the table at the beginning of each transaction. 2. If the connection fails during the commit, check for the presence of the corresponding row in the database. - If the row is present, continue normally, as the transaction was committed successfully - If the row is absent, use an execution strategy to retry the current operation. 3. If the commit is successful, delete the corresponding row to avoid the growth of the table. But this needs support on application level. You're probably thinking about something in client library? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel