26.09.2017 12:10, 'Robert Harris' [email protected] [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.


------------------------------------

------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Visit http://www.firebirdsql.org and click the Documentation item
on the main (top) menu.  Try FAQ and other links from the left-side menu there.

Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/firebird-support/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/firebird-support/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo Groups is subject to:
    https://info.yahoo.com/legal/us/yahoo/utos/terms/

Reply via email to