> > 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
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings