Subject | Re: [firebird-support] Re: lock conflict on no wait transaction |
---|---|
Author | Erick Sasse |
Post date | 2008-01-18T13:03:02Z |
Thanks Adam, I wasn't sure what was causing this problem, now it's clear for me.
On Jan 17, 2008 8:35 PM, Adam <s3057043@...> wrote:
> --- In firebird-support@yahoogroups.com, "Erick Sasse" <esasse@...> wrote:
> >
> > How can I avoid this error?
> >
> > lock conflict on no wait transaction
> > deadlock
> > update conflicts with concurrent update
> >
> > Thanks.
>
> You have two transactions competing to update/delete the same
> record.(**1) This may be happening explicitly by your application, or
> implicitly by triggers being fired by queries you are running. Lock
> conflicts are an 'expected exception' in any multi-user system. It is
> up to your application to implement retry logic (if that is what you
> want). It is also advisable to make your transactions as short as
> possible to reduce the length of time the records are 'locked'.
>
> Adam
>
>
> (**1) There is also a 'feature' in Firebird where updating the parent
> record from transaction A will prevent transaction B from inserting a
> record into the child table, even if transaction A doesn't touch the
> referenced PK which causes this exception. This is because Firebird
> only knows the parent record has been modified, and can not tell
> whether the primary key was.
>
>
>
>
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Visit http://www.firebirdsql.org and click the Resources item
> on the main (top) menu. Try Knowledgebase and FAQ links !
>
> Also search the knowledgebases at http://www.ibphoenix.com
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Yahoo! Groups Links
>
>
>
>
--
Erick Sasse