Re: SELECT FOR UPDATE NOWAIT

From: Christoph Haller <ch(at)rodos(dot)fzk(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: SELECT FOR UPDATE NOWAIT
Date: 2003-07-24 06:57:52
Message-ID: 3F1F8370.DB7E896F@rodos.fzk.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>
> Paulo Scardine wrote:
> > LockAcquire has a "dontWait" parameter, which do just what I want.
> >
> > The executor level calls "heap_open(relid, RowShareLock)" when doing
"FOR
> > UPDATE"s.
> > Should we define something like RowShareLockNoWait, so heap_open()
or other
> > lower level functions can call LockAcquire() with dontWait set?
> >
> > By the way, is this kind of question on-topic for pgsql-hackers?
>
> I think there are two issues with implementing nowait locking:
>
> If we have special syntax for FOR UPDATE, we will need it for other
> commands that need no wait behavior, and after a while they all carry
> around that cruft --- SET seems easier and more useful.
>
> Second, I don't think we want to carry around a NOWAIT boolean in all
> our structures --- a SET would control it easier. The SET can be
> checked right in the lock code, and I think having it control only
> exclusive locks would do almost everything we want.
>
Sounds reasonable to me. You'll have my vote for the SET way.
Regards, Christoph

Browse pgsql-hackers by date

  From Date Subject
Next Message Lee Kindness 2003-07-24 08:22:19 libpq_r
Previous Message Shridhar Daithankar 2003-07-24 06:45:52 Re: