30 PyVarObject_HEAD_INIT(NULL, 0)
34 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
43 elog(
ERROR,
"could not initialize PLy_PlanType");
61 return (PyObject *) ob;
85 arg->ob_type->tp_free(
arg);
92 PyObject *planargs = NULL;
94 if (!PyArg_ParseTuple(
args,
"|O", &planargs))
104 PyObject *
list = NULL;
107 if (!PyArg_ParseTuple(
args,
"|Ol", &
list, &limit))
117 if (PyArg_ParseTuple(
args,
":status"))
void MemoryContextDelete(MemoryContext context)
PyObject * PLy_cursor_plan(PyObject *ob, PyObject *args)
static PyTypeObject PLy_PlanType
static PyObject * PLy_plan_status(PyObject *self, PyObject *args)
static PyObject * PLy_plan_cursor(PyObject *self, PyObject *args)
static void PLy_plan_dealloc(PyObject *arg)
PyObject * PLy_plan_new(void)
void PLy_plan_init_type(void)
static char PLy_plan_doc[]
static PyObject * PLy_plan_execute(PyObject *self, PyObject *args)
bool is_PLyPlanObject(PyObject *ob)
static PyMethodDef PLy_plan_methods[]
struct PLyPlanObject PLyPlanObject
PyObject * PLy_spi_execute_plan(PyObject *ob, PyObject *list, long limit)
int SPI_freeplan(SPIPlanPtr plan)
PyObject_HEAD SPIPlanPtr plan