PostgreSQL Source Code  git master
plpy_spi.h
Go to the documentation of this file.
1 /*
2  * src/pl/plpython/plpy_spi.h
3  */
4 
5 #ifndef PLPY_SPI_H
6 #define PLPY_SPI_H
7 
8 #include "plpython.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 extern PyObject *PLy_commit(PyObject *self, PyObject *args);
16 extern PyObject *PLy_rollback(PyObject *self, PyObject *args);
17 
18 typedef struct PLyExceptionEntry
19 {
20  int sqlstate; /* hash key, must be first */
21  PyObject *exc; /* corresponding exception */
23 
24 /* handling of SPI operations inside subtransactions */
25 extern void PLy_spi_subtransaction_begin(MemoryContext oldcontext, ResourceOwner oldowner);
26 extern void PLy_spi_subtransaction_commit(MemoryContext oldcontext, ResourceOwner oldowner);
27 extern void PLy_spi_subtransaction_abort(MemoryContext oldcontext, ResourceOwner oldowner);
28 
29 #endif /* PLPY_SPI_H */
PyObject * PLy_spi_prepare(PyObject *self, PyObject *args)
Definition: plpy_spi.c:39
void PLy_spi_subtransaction_commit(MemoryContext oldcontext, ResourceOwner oldowner)
Definition: plpy_spi.c:585
PyObject * PLy_spi_execute(PyObject *self, PyObject *args)
Definition: plpy_spi.c:154
struct PLyExceptionEntry PLyExceptionEntry
PyObject * PLy_rollback(PyObject *self, PyObject *args)
Definition: plpy_spi.c:505
PyObject * PLy_spi_execute_plan(PyObject *ob, PyObject *list, long limit)
Definition: plpy_spi.c:175
PyObject * PLy_commit(PyObject *self, PyObject *args)
Definition: plpy_spi.c:458
void PLy_spi_subtransaction_abort(MemoryContext oldcontext, ResourceOwner oldowner)
Definition: plpy_spi.c:594
void PLy_spi_subtransaction_begin(MemoryContext oldcontext, ResourceOwner oldowner)
Definition: plpy_spi.c:577
PyObject * exc
Definition: plpy_spi.h:21