Обсуждение: pgsql: Fix behavior of AND CHAIN outside of explicit transactionblocks

Поиск
Список
Период
Сортировка

pgsql: Fix behavior of AND CHAIN outside of explicit transactionblocks

От
Peter Eisentraut
Дата:
Fix behavior of AND CHAIN outside of explicit transaction blocks

When using COMMIT AND CHAIN or ROLLBACK AND CHAIN not in an explicit
transaction block, the previous implementation would leave a
transaction block active in the ROLLBACK case but not the COMMIT case.
To fix for now, error out when using these commands not in an explicit
transaction block.  This restriction could be lifted if a sensible
definition and implementation is found.

Bug: #15977
Author: fn ln <emuser20140816@gmail.com>
Reviewed-by: Fabien COELHO <coelho@cri.ensmp.fr>

Branch
------
REL_12_STABLE

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

Modified Files
--------------
doc/src/sgml/ref/commit.sgml               |  3 +-
doc/src/sgml/ref/rollback.sgml             |  3 +-
src/backend/access/transam/xact.c          | 58 +++++++++++++++-------
src/test/regress/expected/transactions.out | 78 ++++++++++++++++++++++++++++++
src/test/regress/sql/transactions.sql      | 43 ++++++++++++++++
5 files changed, 166 insertions(+), 19 deletions(-)