From 280a408b48d5ee42969f981bceb9e9426c3a344c Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 24 Mar 2019 10:33:14 +0100 Subject: Transaction chaining Add command variants COMMIT AND CHAIN and ROLLBACK AND CHAIN, which start new transactions with the same transaction characteristics as the just finished one, per SQL standard. Support for transaction chaining in PL/pgSQL is also added. This functionality is especially useful when running COMMIT in a loop in PL/pgSQL. Reviewed-by: Fabien COELHO Discussion: https://www.postgresql.org/message-id/flat/28536681-324b-10dc-ade8-ab46f7645a5a@2ndquadrant.com --- src/include/executor/spi.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/include/executor') diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h index eafcc7a4e4d..83c28b79bfa 100644 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -160,7 +160,9 @@ extern int SPI_register_trigger_data(TriggerData *tdata); extern void SPI_start_transaction(void); extern void SPI_commit(void); +extern void SPI_commit_and_chain(void); extern void SPI_rollback(void); +extern void SPI_rollback_and_chain(void); extern void SPICleanup(void); extern void AtEOXact_SPI(bool isCommit); -- cgit v1.2.3