Oracle also has the NOWAIT option for use with the SELECT ... FOR UPDATE
query. If the record is locked, the NOWAIT causes the query to generate
an exception (rather than blocking) which can then be caught and handled
- it helps prevent race conditions. A very nice feature!
John Sidney-Woollett
Jim C. Nasby wrote:
> What's the race in the SELECT FOR UPDATE?
>
> BTW, this is one nice thing about Oracle... it comes with a built-in
> queuing mechanism. It would probably be worth trying to write a generic
> queuing system and stick it in Gborg.
>
> Incidentally, Oracle also supports user-named locks, which would
> probably make this easier to do. LOCK TABLE works, but it's more brute
> force than is needed. Unfortunately, I don't see a way to simply add
> such a thing onto PostgreSQL without adding it to the core.