22"PostgreSQL subtransaction context manager";
48 .name =
"PLySubtransaction",
62 elog(
ERROR,
"could not initialize PLy_SubtransactionType");
74#if PY_VERSION_HEX < 0x03080000
List * list_delete_first(List *list)
List * lcons(void *datum, List *list)
void * MemoryContextAlloc(MemoryContext context, Size size)
MemoryContext TopTransactionContext
void pfree(void *pointer)
MemoryContext CurrentMemoryContext
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
void PLy_exception_set(PyObject *exc, const char *fmt,...)
static PyObject * PLy_subtransaction_exit(PyObject *self, PyObject *args)
PyObject * PLy_subtransaction_new(PyObject *self, PyObject *unused)
static PyMethodDef PLy_subtransaction_methods[]
static PyTypeObject * PLy_SubtransactionType
static PyObject * PLy_subtransaction_enter(PyObject *self, PyObject *unused)
static char PLy_subtransaction_doc[]
static PyType_Spec PLySubtransaction_spec
List * explicit_subtransactions
void PLy_subtransaction_init_type(void)
static PyType_Slot PLySubtransaction_slots[]
ResourceOwner CurrentResourceOwner
void BeginInternalSubTransaction(const char *name)
void RollbackAndReleaseCurrentSubTransaction(void)
void ReleaseCurrentSubTransaction(void)