Subject Re: [ib-support] Deadlock and wait
Author Ann W. Harrison
At 11:41 AM 7/26/2001 -0300, Marcos Vinicius Dufloth wrote:

>set transaction wait isolation level read committed no record_version;
>insert ...
>insert ...
>When running two process or more, I get some few errors:
>Statement failed, SQLCODE = -913
>-update conflicts with concurrent update
>Of course that these inserts are (via triggers) updating same records
>sometimes, but, if I using WAIT, why this error still generates? Lock
>manager don't would keep waiting? I missing something?

In case there is anyone in the world who is unaware of it, I consider
the read committed transaction mode one of the worst ideas of the last
century. If you care (at all) about the consistency of data, shun it.

WAIT doesn't mean "wait around until the coast is clear then overwrite
changes done by concurrent transactions". It means "wait until the
conflicting transaction has ended before deciding whether there is a
conflict or not."

Why do you specify "no record version"?

Finally, triggers that update common records are a notorious source of
conflicts and inconsistency. There's almost always some other data
structure that will provide the same information without the potential
for deadlock.


We have answers. Today, I seem to have opinions