aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2022-07-18 16:23:48 +0200
committerPeter Eisentraut <peter@eisentraut.org>2022-07-18 19:20:07 +0200
commitb2c8d56618b86ba41db950e437e5abcbf085f186 (patch)
tree2b2ed71f51b96b485c8768a691938a197a959efb
parent36ccca3dbac3663b5487cd5966b345009b182629 (diff)
downloadpostgresql-b2c8d56618b86ba41db950e437e5abcbf085f186.tar.gz
postgresql-b2c8d56618b86ba41db950e437e5abcbf085f186.zip
Re-add SPICleanup for ABI compatibility in stable branch
This fixes an ABI break introduced by cfc86f987349372dbbfc0391f9f519c0a7b27b84. Author: Markus Wanner <markus.wanner@enterprisedb.com> Discussion: https://www.postgresql.org/message-id/defd749a-8410-841d-1126-21398686d63d@enterprisedb.com
-rw-r--r--src/backend/executor/spi.c10
-rw-r--r--src/include/executor/spi.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c
index 5f89a9a2aa1..f2b3b3df98a 100644
--- a/src/backend/executor/spi.c
+++ b/src/backend/executor/spi.c
@@ -417,6 +417,16 @@ SPI_rollback_and_chain(void)
}
/*
+ * 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.
*/
void
diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h
index 0bf9b0c26e9..06de20ada5e 100644
--- a/src/include/executor/spi.h
+++ b/src/include/executor/spi.h
@@ -167,6 +167,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);