Subject Re: [firebird-support] Transaction Management Failing?
Author Dimitry Sibiryakov
26.09.2017 12:10, 'Robert Harris' robert@... [firebird-support] wrote:
> The logic is that straightforward. The InsertMyData inserts lines of an invoice or any
> other customer transaction into ledgers, each identified by a transaction number. The
> problem is that when the issue occurs, multiple copies of the data end up in the database,
> which based on the above logic should not be possible.

Not quite so. You don't write down what exception happen in exception handler. If any
exception happen between CommitTransaction and 'Done := true', you'll get duplicates.
You haven't described how InsertMyData works. If (by mistake) it uses AutoCommit - the
window where you logic can blow up is getting wider.

> It’s a really difficult one as it is totally random.

Still you can turn audit on and (even logs will be enormous) find out exact sequence of
events.


--
WBR, SD.