Re: SET TRANSACTION in PL/pgSQL
От | Alexander Korotkov |
---|---|
Тема | Re: SET TRANSACTION in PL/pgSQL |
Дата | |
Msg-id | CAPpHfdvuFeTMZOo4PQ0P55dWaYdHkh-Me4-1JeLcP=JF26UdYw@mail.gmail.com обсуждение исходный текст |
Ответ на | SET TRANSACTION in PL/pgSQL (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Ответы |
Re: SET TRANSACTION in PL/pgSQL
|
Список | pgsql-hackers |
Hi!
On Wed, Feb 28, 2018 at 11:45 PM, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
Currently, you can't run SET TRANSACTION in PL/pgSQL. A normal SQL
command run inside PL/pgSQL acquires a snapshot, but SET
TRANSACTION does not work anymore if a snapshot is set. Here is a patch
to work around that by handling this command separately. I have coded
this here bypassing SPI entirely. But there is some overlap with the
no_snapshot option in the patch "PL/pgSQL nested CALL with
transactions", so maybe a better solution will arise. This will also
inform how to tackle this in other PLs.
I didn't dig deeply into this subject. But should we rather teach SPI to execute
utility statements without taking snapshot when not necessary. That seems
like what executor do for client provided queries. And that seems a bit unlogical
that SPI behaves differently.
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
В списке pgsql-hackers по дате отправления: