[DUG] Firebird transactions
Trevor
trevorj at ihug.co.nz
Thu Jul 22 16:57:52 NZST 2010
I see what your problem may be :
Within each transaction the program fires the generator once for ID for one
table, and once for each line ID of the other table, and writes one line to
a log file after the transaction commits. The generator is being fired
separately for the occasional duplicate transactions (ie they have different
ID's even though other fields are the same) yet only one line appears in
the log file. Hence the mystery!
The generator is NOT under transaction control, but all of the other stuff
is.
So if you try and insert, and something causes your transaction to be rolled
back and resubmitted, the generator will be incremented twice.
Several types of data abstraction layer will do a retry (with a new
transaction) under certain conflict situations.
If you want to get a database log to also run outside transaction control,
use an external table.
Trevor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20100722/ba539498/attachment-0001.html
More information about the Delphi
mailing list