1 /* 2 * src/pl/plpython/plpy_spi.h 3 */ 4 5 #ifndef PLPY_SPI_H 6 #define PLPY_SPI_H 7 8 #include "utils/palloc.h" 9 #include "utils/resowner.h" 10 11 extern PyObject *PLy_spi_prepare(PyObject *self, PyObject *args); 12 extern PyObject *PLy_spi_execute(PyObject *self, PyObject *args); 13 extern PyObject *PLy_spi_execute_plan(PyObject *ob, PyObject *list, long limit); 14 15 typedef struct PLyExceptionEntry 16 { 17 int sqlstate; /* hash key, must be first */ 18 PyObject *exc; /* corresponding exception */ 19 } PLyExceptionEntry; 20 21 /* handling of SPI operations inside subtransactions */ 22 extern void PLy_spi_subtransaction_begin(MemoryContext oldcontext, ResourceOwner oldowner); 23 extern void PLy_spi_subtransaction_commit(MemoryContext oldcontext, ResourceOwner oldowner); 24 extern void PLy_spi_subtransaction_abort(MemoryContext oldcontext, ResourceOwner oldowner); 25 26 #endif /* PLPY_SPI_H */ 27