Subject Re: [firebird-support] Transaction Deadlock
Author Slalom
That being said do I just need to add rec_version?

I need all concurrent transactions to be able to update the record.

----- Original Message ----
From: Ann W. Harrison <aharrison@...>
To: firebird-support@yahoogroups.com
Sent: Thursday, January 11, 2007 5:11:27 PM
Subject: Re: [firebird-support] Transaction Deadlock

slalom91 wrote:
>
> I have the following transaction params set in my application:
> wait concurrency
>
> I am receiving the following error:
>
> "deadlock update conflicts with concurrent update"
>
> I was under the impression that the wait param would prevent this.

No. Firebird won't let you change a record unless you can read the
most recent version. Even if you wait for the previous update
to commit, you'll still see the old version of the record, so you
can't update it. What WAIT prevents is a situation called "live lock"
where two automated transactions attempt to update the same records
in different order, each gets an error, rolls back, and retries
exactly the same actions in the same order. In that case waiting
allows one to succeed after the other has failed, and avoids wasting
cycles on continuing retries...

Regards,

Ann



[Non-text portions of this message have been removed]