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

Reply via email to