Re: Transaction-scope advisory locks
От | Tom Lane |
---|---|
Тема | Re: Transaction-scope advisory locks |
Дата | |
Msg-id | 14232.1295537701@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Transaction-scope advisory locks (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>) |
Ответы |
Re: Transaction-scope advisory locks
|
Список | pgsql-hackers |
Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi> writes: > Another thing I now see is this: > BEGIN; > SELECT pg_advisory_xact_lock(1); > -- do something here > -- upgrade to session lock > SELECT pg_advisory_lock(1); > COMMIT; > This seems useful, since the xact lock would be automatically released > if an error happens during "-- do something here" so you wouldn't need > to worry about releasing the lock elsewhere. But I'm not sure this is > safe. Can anyone see a problem with it? I think the POLA dictates that the behavior of that should be that you now have both a transactional and a nontransactional hold on the lock; and only the transactional hold goes away at commit. regards, tom lane
В списке pgsql-hackers по дате отправления: