00001 /* 00002 * src/pl/plpython/plpy_subxactobject.h 00003 */ 00004 00005 #ifndef PLPY_SUBXACTOBJECT 00006 #define PLPY_SUBXACTOBJECT 00007 00008 #include "nodes/pg_list.h" 00009 #include "utils/resowner.h" 00010 00011 /* a list of nested explicit subtransactions */ 00012 extern List *explicit_subtransactions; 00013 00014 00015 typedef struct PLySubtransactionObject 00016 { 00017 PyObject_HEAD 00018 bool started; 00019 bool exited; 00020 } PLySubtransactionObject; 00021 00022 /* explicit subtransaction data */ 00023 typedef struct PLySubtransactionData 00024 { 00025 MemoryContext oldcontext; 00026 ResourceOwner oldowner; 00027 } PLySubtransactionData; 00028 00029 extern void PLy_subtransaction_init_type(void); 00030 extern PyObject *PLy_subtransaction_new(PyObject *self, PyObject *unused); 00031 00032 #endif /* PLPY_SUBXACTOBJECT */