From 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 16 Apr 2024 21:46:48 +0200 Subject: Adding upstream version 15.4. Signed-off-by: Daniel Baumann --- src/pl/plpython/plpy_spi.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/pl/plpython/plpy_spi.h (limited to 'src/pl/plpython/plpy_spi.h') diff --git a/src/pl/plpython/plpy_spi.h b/src/pl/plpython/plpy_spi.h new file mode 100644 index 0000000..98ccd21 --- /dev/null +++ b/src/pl/plpython/plpy_spi.h @@ -0,0 +1,29 @@ +/* + * src/pl/plpython/plpy_spi.h + */ + +#ifndef PLPY_SPI_H +#define PLPY_SPI_H + +#include "plpython.h" +#include "utils/resowner.h" + +extern PyObject *PLy_spi_prepare(PyObject *self, PyObject *args); +extern PyObject *PLy_spi_execute(PyObject *self, PyObject *args); +extern PyObject *PLy_spi_execute_plan(PyObject *ob, PyObject *list, long limit); + +extern PyObject *PLy_commit(PyObject *self, PyObject *args); +extern PyObject *PLy_rollback(PyObject *self, PyObject *args); + +typedef struct PLyExceptionEntry +{ + int sqlstate; /* hash key, must be first */ + PyObject *exc; /* corresponding exception */ +} PLyExceptionEntry; + +/* handling of SPI operations inside subtransactions */ +extern void PLy_spi_subtransaction_begin(MemoryContext oldcontext, ResourceOwner oldowner); +extern void PLy_spi_subtransaction_commit(MemoryContext oldcontext, ResourceOwner oldowner); +extern void PLy_spi_subtransaction_abort(MemoryContext oldcontext, ResourceOwner oldowner); + +#endif /* PLPY_SPI_H */ -- cgit v1.2.3