From 8657946d375f4831b026d7c28016b27acdd2c246 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 18 Jul 2022 16:23:48 +0200 Subject: [PATCH] Re-add SPICleanup for ABI compatibility in stable branch This fixes an ABI break introduced by 604651880c71c5106a72529b9ce29eaad0cfab27. Author: Markus Wanner Discussion: https://www.postgresql.org/message-id/defd749a-8410-841d-1126-21398686d63d@enterprisedb.com --- src/backend/executor/spi.c | 10 ++++++++++ src/include/executor/spi.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index dd5ef76270..f73c1e79e1 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -422,6 +422,16 @@ SPI_rollback_and_chain(void) _SPI_rollback(true); } +/* + * SPICleanup is a no-op, kept for backwards compatibility. We rely on + * AtEOXact_SPI to cleanup. Extensions should not (need to) fiddle with the + * internal SPI state directly. + */ +void +SPICleanup(void) +{ +} + /* * Clean up SPI state at transaction commit or abort. */ diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h index 153eb5c7ad..1e66a7d2ea 100644 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -205,6 +205,7 @@ 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); extern void AtEOSubXact_SPI(bool isCommit, SubTransactionId mySubid); extern bool SPI_inside_nonatomic_context(void);