74 .flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
85 elog(
ERROR,
"could not initialize PLy_ResultType");
95#if PY_VERSION_HEX < 0x03080000
104 ob->
nrows = PyLong_FromLong(-1);
105 ob->
rows = PyList_New(0);
113 return (PyObject *) ob;
119#if PY_VERSION_HEX >= 0x03080000
120 PyTypeObject *tp = Py_TYPE(self);
123 Py_XDECREF(self->
nrows);
124 Py_XDECREF(self->
rows);
133#if PY_VERSION_HEX >= 0x03080000
185 PyList_SetItem(
list,
i, PyLong_FromLong(attr->atttypid));
211 PyList_SetItem(
list,
i, PyLong_FromLong(attr->atttypmod));
222 Py_INCREF(ob->
nrows);
240 return PyList_Size(ob->
rows);
249 rv = PyList_GetItem(ob->
rows,
idx);
260 return PyUnicode_FromFormat(
"<%s status=%S nrows=%S rows=%S>",
272 return PyObject_GetItem(ob->
rows, item);
280 return PyObject_SetItem(ob->
rows, item,
value);
Datum idx(PG_FUNCTION_ARGS)
FormData_pg_attribute * Form_pg_attribute
void PLy_exception_set(PyObject *exc, const char *fmt,...)
static PyType_Spec PLyResult_spec
static PyObject * PLy_result_str(PyObject *arg)
static PyObject * PLy_result_item(PyObject *arg, Py_ssize_t idx)
static PyObject * PLy_result_nrows(PyObject *self, PyObject *args)
static void PLy_result_dealloc(PLyResultObject *self)
static PyType_Slot PLyResult_slots[]
void PLy_result_init_type(void)
static PyTypeObject * PLy_ResultType
static PyObject * PLy_result_coltypmods(PyObject *self, PyObject *unused)
PyObject * PLy_result_new(void)
static char PLy_result_doc[]
static PyObject * PLy_result_status(PyObject *self, PyObject *args)
static PyObject * PLy_result_subscript(PyObject *arg, PyObject *item)
static Py_ssize_t PLy_result_length(PyObject *arg)
static PyObject * PLy_result_coltypes(PyObject *self, PyObject *unused)
static PyObject * PLy_result_colnames(PyObject *self, PyObject *unused)
static PyMethodDef PLy_result_methods[]
static int PLy_result_ass_subscript(PyObject *arg, PyObject *item, PyObject *value)
struct PLyResultObject PLyResultObject
PyObject * PLyUnicode_FromString(const char *s)
PyObject_HEAD PyObject * nrows
void FreeTupleDesc(TupleDesc tupdesc)
static FormData_pg_attribute * TupleDescAttr(TupleDesc tupdesc, int i)