diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index 0f5932c93bc..5484278a7e0 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -381,6 +381,16 @@ SPI_rollback(void) PG_END_TRY(); } +/* + * 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 41cca05b274..b16440cf004 100644 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -163,6 +163,7 @@ extern void SPI_start_transaction(void); extern void SPI_commit(void); extern void SPI_rollback(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);