49 .flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
60 elog(
ERROR,
"could not initialize PLy_PlanType");
70#if PY_VERSION_HEX < 0x03080000
81 return (PyObject *) ob;
93#if PY_VERSION_HEX >= 0x03080000
94 PyTypeObject *tp = Py_TYPE(self);
109#if PY_VERSION_HEX >= 0x03080000
119 PyObject *planargs = NULL;
121 if (!PyArg_ParseTuple(
args,
"|O", &planargs))
131 PyObject *
list = NULL;
134 if (!PyArg_ParseTuple(
args,
"|Ol", &
list, &limit))
144 if (PyArg_ParseTuple(
args,
":status"))
void MemoryContextDelete(MemoryContext context)
PyObject * PLy_cursor_plan(PyObject *ob, PyObject *args)
static PyObject * PLy_plan_status(PyObject *self, PyObject *args)
static PyObject * PLy_plan_cursor(PyObject *self, PyObject *args)
PyObject * PLy_plan_new(void)
static void PLy_plan_dealloc(PLyPlanObject *self)
void PLy_plan_init_type(void)
static char PLy_plan_doc[]
static PyType_Slot PLyPlan_slots[]
static PyObject * PLy_plan_execute(PyObject *self, PyObject *args)
static PyType_Spec PLyPlan_spec
bool is_PLyPlanObject(PyObject *ob)
static PyMethodDef PLy_plan_methods[]
static PyTypeObject * PLy_PlanType
struct PLyPlanObject PLyPlanObject
PyObject * PLy_spi_execute_plan(PyObject *ob, PyObject *list, long limit)
int SPI_freeplan(SPIPlanPtr plan)
PyObject_HEAD SPIPlanPtr plan