pgsql: PL/pgSQL: Nested CALL with transactions

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема pgsql: PL/pgSQL: Nested CALL with transactions
Дата
Msg-id E1f1Ey2-0000Yr-2e@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
PL/pgSQL: Nested CALL with transactions

So far, a nested CALL or DO in PL/pgSQL would not establish a context
where transaction control statements were allowed.  This fixes that by
handling CALL and DO specially in PL/pgSQL, passing the atomic/nonatomic
execution context through and doing the required management around
transaction boundaries.

Reviewed-by: Tomas Vondra <tomas.vondra@2ndquadrant.com>

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d92bc83c48bdea9888e64cf1e2edbac9693099c9

Modified Files
--------------
doc/src/sgml/plpgsql.sgml                          | 20 +++++-
src/backend/executor/spi.c                         | 34 +++++----
src/backend/tcop/utility.c                         |  2 +-
src/include/executor/spi_priv.h                    |  1 +
src/include/tcop/utility.h                         |  1 +
.../plpgsql/src/expected/plpgsql_transaction.out   | 83 +++++++++++++++++-----
src/pl/plpgsql/src/pl_exec.c                       | 69 +++++++++++++-----
src/pl/plpgsql/src/pl_funcs.c                      |  4 +-
src/pl/plpgsql/src/pl_gram.y                       | 18 +++++
src/pl/plpgsql/src/pl_handler.c                    |  4 +-
src/pl/plpgsql/src/pl_scanner.c                    |  1 +
src/pl/plpgsql/src/plpgsql.h                       |  5 +-
src/pl/plpgsql/src/sql/plpgsql_transaction.sql     | 52 ++++++++++++--
13 files changed, 235 insertions(+), 59 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix actual and potential double-frees around tuplesort usage.
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: pgsql: Optimize btree insertions for common case of increasing values