Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Releasing row locks with rollback to savepoint

Re: Releasing row locks with rollback to savepoint

From: Luis Santos <lsantos_at_pobox.com>
Date: 1997/07/23
Message-ID: <33D64BAC.BD21C76C@pobox.com>#1/1

tld_at_accessig.com wrote:

>
> Session 1:
>
> SELECT * FROM TESTTABLE WHERE ID = 'AAA' FOR UDPATE;
> SAVEPOINT A;
> SELECT * FROM TESTTABLE2 WHERE ID = 'BBB' FOR UDPATE;
>
> Session 2:
> SELECT * FROM TESTTABLE2 WHERE ID = 'BBB' FOR UPDATE;
> (this of course goes into a wait status)
>
> Session 1:
> ROLLBACK TO A;
>
> This statement is supposed to release the row lock that
> occured after savepoint A. It does, to the extent that
> a third process can now lock that row. However, the
> second session stays in a wait status until the entire
> transaction in session 1 is ended with a COMMIT or a
> ROLLBACK (without the TO SAVEPOINT clause). If the
> ROLLBACK TO A statement truely is releasing the row lock,
> I would expect session 2 to select and lock the row. Why
> doesn't this occur?

    I have tested it in my Oracle7 Enterprise Server for Digital Unix (version 7.3.3.0.0) and I got the problem too...

    I would like to receive more tests about different versions of Oracle for different platforms...

--

Best regards
Atenciosamente

Luis Santos
Received on Wed Jul 23 1997 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US