SET TRANSACTION in PL/pgSQL

From: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: SET TRANSACTION in PL/pgSQL
Date: 2018-02-28 20:45:47
Message-ID: cb1ddf8a-3e31-6ddb-ac41-8699c7af65dd@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
v1-0001-PL-pgSQL-Add-support-for-SET-TRANSACTION.patch text/plain 11.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2018-02-28 21:00:13 Re: [HACKERS] MERGE SQL Statement for PG11
Previous Message Tom Lane 2018-02-28 20:45:40 Re: prokind column (was Re: [HACKERS] SQL procedures)