PL/pgSQL: Add support for SET TRANSACTION
A normal SQL command run inside PL/pgSQL acquires a snapshot, but SET
TRANSACTION does not work anymore if a snapshot is set. So we have to
handle this separately.
Reviewed-by: Alexander Korotkov <a.korotkov@postgrespro.ru>
Reviewed-by: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/b981275b6531df5a4c4f069571bcb39fc4dee770
Modified Files
--------------
.../plpgsql/src/expected/plpgsql_transaction.out | 29 ++++++++++++++++++
src/pl/plpgsql/src/pl_exec.c | 35 ++++++++++++++++++++++
src/pl/plpgsql/src/pl_funcs.c | 23 ++++++++++++++
src/pl/plpgsql/src/pl_gram.y | 32 +++++++++++++++++++-
src/pl/plpgsql/src/pl_scanner.c | 2 ++
src/pl/plpgsql/src/plpgsql.h | 13 +++++++-
src/pl/plpgsql/src/sql/plpgsql_transaction.sql | 25 ++++++++++++++++
7 files changed, 157 insertions(+), 2 deletions(-)