> Well, this is how it is supposed to work.  "select for update" only
> works within a transaction and holds the lock until the transaction
> is complete.
>
> What exactly is it that you're trying to do?

        Let us suppose that we have 2 transactions, and attempt to block the
same row in the two transactions. One of them will wait until in the other
it is commited or rollbacked.

    Oracle has "select for update nowait",  it does that instead of waiting
the conclusion of the other  transaction, gives back an error to us saying
that the row already has been blocked.

    I am looking for something similar to this, or in its defect, knowledge
if a row has been blocked, to avoid this waits

    Juan Carlos Perez Vazquez
    Cray2@mail.com



Sun, 20 Aug 2000 11:23:46 +0200
=?iso-8859-1?Q?Juan_Carlos_P=E9rez_V=E1zquez?= <jcarlos9@teleline.es>
RE: Row Level Locking Problem
Hi

    I have a big problem, when I try to lock a row locked previouly, It wait
until commit / rollback operation.

        How could lock a row if It is not locked already?

        Could I now if a row is locked?

        Could I get some error message from postgres when I do 'select ....
for update' to a locked row instead of wait for commit / rollback?


cray2@mail.com





Sun, 20 Aug 2000 14:33:50 +0200
"Cray2" <cray2@mail.com>
Row Level Locking Problem
At 02:33 PM 8/20/00 +0200, Cray2 wrote:
>    I have a big problem, when I try to lock a row locked previouly, It wait
>until commit / rollback operation.
>
>        How could lock a row if It is not locked already?
>
>        Could I now if a row is locked?
>
>        Could I get some error message from postgres when I do 'select ....
>for update' to a locked row instead of wait for commit / rollback?

Well, this is how it is supposed to work.  "select for update" only
works within a transaction and holds the lock until the transaction
is complete.

What exactly is it that you're trying to do?



- Don Baccus, Portland OR <dhogaza@pacifier.com>
  Nature photos, on-line guides, Pacific Northwest
  Rare Bird Alert Service and other goodies at
  http://donb.photo.net.

Sun, 20 Aug 2000 17:31:03 -0700
Don Baccus <dhogaza@pacifier.com>
Re: Row Level Locking Problem
Cray2 wrote:
> 
> Hi
> 
>     I have a big problem, when I try to lock a row locked previouly, It wait
> until commit / rollback operation.
> 
>         How could lock a row if It is not locked already?
> 
>         Could I now if a row is locked?
> 
>         Could I get some error message from postgres when I do 'select ....
> for update' to a locked row instead of wait for commit / rollback?

It is theoretically possible to write a function is_locked and then do

select .... for update where not is_locked(); 

and thereby lock only not-yet-locked functions.

------------------
Hannu

Mon, 21 Aug 2000 18:40:05 +0300
Hannu Krosing <hannu@tm.ee>
Re: Row Level Locking Problem