1 /*
2  * src/pl/plpython/plpy_subxactobject.h
3  */
4 
5 #ifndef PLPY_SUBXACTOBJECT
6 #define PLPY_SUBXACTOBJECT
7 
8 #include "nodes/pg_list.h"
9 #include "utils/resowner.h"
10 
11 /* a list of nested explicit subtransactions */
12 extern List *explicit_subtransactions;
13 
14 
15 typedef struct PLySubtransactionObject
16 {
17 	PyObject_HEAD
18 	bool		started;
19 	bool		exited;
20 } PLySubtransactionObject;
21 
22 /* explicit subtransaction data */
23 typedef struct PLySubtransactionData
24 {
25 	MemoryContext oldcontext;
26 	ResourceOwner oldowner;
27 } PLySubtransactionData;
28 
29 extern void PLy_subtransaction_init_type(void);
30 extern PyObject *PLy_subtransaction_new(PyObject *self, PyObject *unused);
31 
32 #endif							/* PLPY_SUBXACTOBJECT */
33