postgres.git / summary / log / commit / refs
commit 6d61aef5dbb625a64ec8ba4a7df238572406597d
Author: Peter Eisentraut <peter@eisentraut.org>
Date: Mon Jul 18 14:23:48 2022 +0000
First released in: 11.17, 12.12, 13.8, 14.5
Re-add SPICleanup for ABI compatibility in stable branch
This fixes an ABI break introduced by
2f6b8c287b881fd33168d8c15c56f71163ff3ba6.
Author: Markus Wanner <markus.wanner@enterprisedb.com>
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 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);
[parent: 94bcb48ab53b]