Re: [SQL] Savepoints and SELECT FOR UPDATE in 8.2
| От | Scott Marlowe |
|---|---|
| Тема | Re: [SQL] Savepoints and SELECT FOR UPDATE in 8.2 |
| Дата | |
| Msg-id | dcc563d10808011807l3100f873vc2e1806ddea4c642@mail.gmail.com обсуждение |
| Ответ на | Savepoints and SELECT FOR UPDATE in 8.2 ("EXT-Rothermel, Peter M" <Peter.M.Rothermel@boeing.com>) |
| Список | 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 по дате отправления: