Re: [SQL] Savepoints and SELECT FOR UPDATE in 8.2 - Mailing list pgsql-general

From Scott Marlowe
Subject Re: [SQL] Savepoints and SELECT FOR UPDATE in 8.2
Date
Msg-id dcc563d10808011807l3100f873vc2e1806ddea4c642@mail.gmail.com
Whole thread Raw
In response to Savepoints and SELECT FOR UPDATE in 8.2  ("EXT-Rothermel, Peter M" <Peter.M.Rothermel@boeing.com>)
List pgsql-general
On Fri, Aug 1, 2008 at 11:02 AM, EXT-Rothermel, Peter M
<Peter.M.Rothermel@boeing.com> wrote:
>
> I was thinking of something like this:
>
> connect to DB
>
> BEGIN
>
> SELECT * FROM table_foo where foo_state = 'queued'  FOR UPDATE;
> for each row
> do [
>
>    SAVEPOINT s;
>    UPDATE foo_resource SET in_use = 1 WHERE ...;
>
>    status = application_logic_code(foo_column1, foo_column2);
>
>    IF status OK
>    THEN
>          ROLLBACK TO SAVEPOINT s;
>    ELSE
>          RELEASE SAVEPOINT s;
>    ENDIF
> ]
>
>
> COMMIT;
>
> I found a caution in the documentation that says that SELECT FOR UPDATE
> and SAVEPOINTS is not implemented correctly in version 8.2:
>
> http://www.postgresql.org/docs/8.2/interactive/sql-select.html#SQL-FOR-U
> PDATE-SHARE
>
> Any suggestions?

Why not plain rollback?

pgsql-general by date:

Previous
From: Glen Parker
Date:
Subject: Re: non-WAL btree?
Next
From: Andrew
Date:
Subject: Re: hibernate nativequery and uuid