aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor/spi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/executor/spi.h')
-rw-r--r--src/include/executor/spi.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h
index 43580c51585..e5bdaecc4e3 100644
--- a/src/include/executor/spi.h
+++ b/src/include/executor/spi.h
@@ -65,6 +65,8 @@ typedef struct _SPI_plan *SPIPlanPtr;
#define SPI_OK_REL_UNREGISTER 16
#define SPI_OK_TD_REGISTER 17
+#define SPI_OPT_NONATOMIC (1 << 0)
+
/* These used to be functions, now just no-ops for backwards compatibility */
#define SPI_push() ((void) 0)
#define SPI_pop() ((void) 0)
@@ -78,6 +80,7 @@ extern PGDLLIMPORT SPITupleTable *SPI_tuptable;
extern PGDLLIMPORT int SPI_result;
extern int SPI_connect(void);
+extern int SPI_connect_ext(int options);
extern int SPI_finish(void);
extern int SPI_execute(const char *src, bool read_only, long tcount);
extern int SPI_execute_plan(SPIPlanPtr plan, Datum *Values, const char *Nulls,
@@ -156,6 +159,10 @@ extern int SPI_register_relation(EphemeralNamedRelation enr);
extern int SPI_unregister_relation(const char *name);
extern int SPI_register_trigger_data(TriggerData *tdata);
+extern void SPI_start_transaction(void);
+extern void SPI_commit(void);
+extern void SPI_rollback(void);
+
extern void AtEOXact_SPI(bool isCommit);
extern void AtEOSubXact_SPI(bool isCommit, SubTransactionId mySubid);