Re: PostgreSQL transaction locking problem

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: PostgreSQL transaction locking problem
Дата
Msg-id 19180.1012689342@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: PostgreSQL transaction locking problem  ("Jeff Martin" <jeff@dgjc.org>)
Ответы Re: PostgreSQL transaction locking problem
Список pgsql-general
"Jeff Martin" <jeff@dgjc.org> writes:
>> As written, he gets a delay (because of the LOCK) *and* duplicate IDs
>> (because with the serializable isolation level, the second xact can't

> i get the same error whether using "read commited" or "serializable".

[ thinks about that... ]  Yeah, probably so, because SetQuerySnapshot
is presently executed only in the outer command loop; there won't be
one between the LOCK and the SELECT inside your function.  So the SELECT
still doesn't think that the other xact has committed.  You could make
it work (in read-committed mode) if you issued the LOCK from the
application before calling the function.

There's been some discussion about whether SetQuerySnapshot should occur
between statements in plpgsql functions or not --- AFAIR, there were
arguments on both sides, and we haven't come to a consensus yet.  But
the bottom line is that in the present implementation, a function cannot
see the effects of transactions that commit while it's running.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: "Jeff Martin"
Дата:
Сообщение: Re: PostgreSQL transaction locking problem
Следующее
От: Mike Mascari
Дата:
Сообщение: Re: PostgreSQL transaction locking problem