summaryrefslogtreecommitdiff
path: root/psycopg
diff options
context:
space:
mode:
Diffstat (limited to 'psycopg')
-rw-r--r--psycopg/adapter_asis.c30
-rw-r--r--psycopg/adapter_binary.c28
-rw-r--r--psycopg/adapter_datetime.c28
-rw-r--r--psycopg/adapter_list.c28
-rw-r--r--psycopg/adapter_mxdatetime.c28
-rw-r--r--psycopg/adapter_pboolean.c30
-rw-r--r--psycopg/adapter_pdecimal.c30
-rw-r--r--psycopg/adapter_pfloat.c30
-rw-r--r--psycopg/adapter_pint.c30
-rw-r--r--psycopg/adapter_qstring.c28
-rw-r--r--psycopg/connection_type.c26
-rw-r--r--psycopg/cursor_type.c26
-rw-r--r--psycopg/diagnostics_type.c26
-rw-r--r--psycopg/error_type.c10
-rw-r--r--psycopg/lobject_type.c26
-rw-r--r--psycopg/microprotocols_proto.c26
-rw-r--r--psycopg/notify_type.c30
-rw-r--r--psycopg/typecast.c27
-rw-r--r--psycopg/typecast_binary.c5
-rw-r--r--psycopg/xid_type.c30
20 files changed, 21 insertions, 501 deletions
diff --git a/psycopg/adapter_asis.c b/psycopg/adapter_asis.c
index f194e1d..7952bba 100644
--- a/psycopg/adapter_asis.c
+++ b/psycopg/adapter_asis.c
@@ -156,12 +156,6 @@ asis_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-asis_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
asis_repr(asisObject *self)
{
@@ -177,63 +171,41 @@ asis_repr(asisObject *self)
PyTypeObject asisType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.AsIs",
- sizeof(asisObject),
- 0,
+ sizeof(asisObject), 0,
asis_dealloc, /*tp_dealloc*/
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)asis_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)asis_str, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
asisType_doc, /*tp_doc*/
-
(traverseproc)asis_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
asisObject_methods, /*tp_methods*/
asisObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
asis_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
asis_new, /*tp_new*/
- (freefunc)asis_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_binary.c b/psycopg/adapter_binary.c
index b08c144..058c9b9 100644
--- a/psycopg/adapter_binary.c
+++ b/psycopg/adapter_binary.c
@@ -266,12 +266,6 @@ binary_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-binary_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
binary_repr(binaryObject *self)
{
@@ -286,61 +280,41 @@ binary_repr(binaryObject *self)
PyTypeObject binaryType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.Binary",
- sizeof(binaryObject),
- 0,
+ sizeof(binaryObject), 0,
binary_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
(reprfunc)binary_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)binary_str, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-
binaryType_doc, /*tp_doc*/
-
binary_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
binaryObject_methods, /*tp_methods*/
binaryObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
binary_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
binary_new, /*tp_new*/
- (freefunc)binary_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_datetime.c b/psycopg/adapter_datetime.c
index bf31cfa..0fa1009 100644
--- a/psycopg/adapter_datetime.c
+++ b/psycopg/adapter_datetime.c
@@ -223,12 +223,6 @@ pydatetime_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-pydatetime_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
pydatetime_repr(pydatetimeObject *self)
{
@@ -244,61 +238,41 @@ pydatetime_repr(pydatetimeObject *self)
PyTypeObject pydatetimeType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.datetime",
- sizeof(pydatetimeObject),
- 0,
+ sizeof(pydatetimeObject), 0,
pydatetime_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
(reprfunc)pydatetime_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)pydatetime_str, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-
pydatetimeType_doc, /*tp_doc*/
-
pydatetime_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
pydatetimeObject_methods, /*tp_methods*/
pydatetimeObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
pydatetime_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
pydatetime_new, /*tp_new*/
- (freefunc)pydatetime_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_list.c b/psycopg/adapter_list.c
index d97ecfb..5e25234 100644
--- a/psycopg/adapter_list.c
+++ b/psycopg/adapter_list.c
@@ -221,12 +221,6 @@ list_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-list_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
list_repr(listObject *self)
{
@@ -241,61 +235,41 @@ list_repr(listObject *self)
PyTypeObject listType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.List",
- sizeof(listObject),
- 0,
+ sizeof(listObject), 0,
list_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
(reprfunc)list_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)list_str, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-
listType_doc, /*tp_doc*/
-
list_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
listObject_methods, /*tp_methods*/
listObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
list_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
list_new, /*tp_new*/
- (freefunc)list_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_mxdatetime.c b/psycopg/adapter_mxdatetime.c
index abe73f8..470f12f 100644
--- a/psycopg/adapter_mxdatetime.c
+++ b/psycopg/adapter_mxdatetime.c
@@ -214,12 +214,6 @@ mxdatetime_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-mxdatetime_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
mxdatetime_repr(mxdatetimeObject *self)
{
@@ -235,61 +229,41 @@ mxdatetime_repr(mxdatetimeObject *self)
PyTypeObject mxdatetimeType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.MxDateTime",
- sizeof(mxdatetimeObject),
- 0,
+ sizeof(mxdatetimeObject), 0,
mxdatetime_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
(reprfunc)mxdatetime_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)mxdatetime_str, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-
mxdatetimeType_doc, /*tp_doc*/
-
mxdatetime_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
mxdatetimeObject_methods, /*tp_methods*/
mxdatetimeObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
mxdatetime_init, /*tp_init*/
0, /*tp_alloc*/
mxdatetime_new, /*tp_new*/
- (freefunc)mxdatetime_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_pboolean.c b/psycopg/adapter_pboolean.c
index 4e2c446..75b0723 100644
--- a/psycopg/adapter_pboolean.c
+++ b/psycopg/adapter_pboolean.c
@@ -155,12 +155,6 @@ pboolean_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-pboolean_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
pboolean_repr(pbooleanObject *self)
{
@@ -177,63 +171,41 @@ pboolean_repr(pbooleanObject *self)
PyTypeObject pbooleanType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.Boolean",
- sizeof(pbooleanObject),
- 0,
+ sizeof(pbooleanObject), 0,
pboolean_dealloc, /*tp_dealloc*/
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)pboolean_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)pboolean_str, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
pbooleanType_doc, /*tp_doc*/
-
pboolean_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
pbooleanObject_methods, /*tp_methods*/
pbooleanObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
pboolean_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
pboolean_new, /*tp_new*/
- (freefunc)pboolean_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_pdecimal.c b/psycopg/adapter_pdecimal.c
index e14e769..1e3b6f9 100644
--- a/psycopg/adapter_pdecimal.c
+++ b/psycopg/adapter_pdecimal.c
@@ -211,12 +211,6 @@ pdecimal_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-pdecimal_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
pdecimal_repr(pdecimalObject *self)
{
@@ -233,63 +227,41 @@ pdecimal_repr(pdecimalObject *self)
PyTypeObject pdecimalType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.Decimal",
- sizeof(pdecimalObject),
- 0,
+ sizeof(pdecimalObject), 0,
pdecimal_dealloc, /*tp_dealloc*/
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)pdecimal_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)pdecimal_str, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
pdecimalType_doc, /*tp_doc*/
-
pdecimal_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
pdecimalObject_methods, /*tp_methods*/
pdecimalObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
pdecimal_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
pdecimal_new, /*tp_new*/
- (freefunc)pdecimal_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_pfloat.c b/psycopg/adapter_pfloat.c
index 1b8074f..8871c54 100644
--- a/psycopg/adapter_pfloat.c
+++ b/psycopg/adapter_pfloat.c
@@ -184,12 +184,6 @@ pfloat_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-pfloat_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
pfloat_repr(pfloatObject *self)
{
@@ -206,63 +200,41 @@ pfloat_repr(pfloatObject *self)
PyTypeObject pfloatType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.Float",
- sizeof(pfloatObject),
- 0,
+ sizeof(pfloatObject), 0,
pfloat_dealloc, /*tp_dealloc*/
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)pfloat_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)pfloat_str, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
pfloatType_doc, /*tp_doc*/
-
pfloat_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
pfloatObject_methods, /*tp_methods*/
pfloatObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
pfloat_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
pfloat_new, /*tp_new*/
- (freefunc)pfloat_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_pint.c b/psycopg/adapter_pint.c
index ad89a06..b8383d7 100644
--- a/psycopg/adapter_pint.c
+++ b/psycopg/adapter_pint.c
@@ -170,12 +170,6 @@ pint_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-pint_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
pint_repr(pintObject *self)
{
@@ -192,63 +186,41 @@ pint_repr(pintObject *self)
PyTypeObject pintType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.Int",
- sizeof(pintObject),
- 0,
+ sizeof(pintObject), 0,
pint_dealloc, /*tp_dealloc*/
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)pint_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)pint_str, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
pintType_doc, /*tp_doc*/
-
pint_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
pintObject_methods, /*tp_methods*/
pintObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
pint_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
pint_new, /*tp_new*/
- (freefunc)pint_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/adapter_qstring.c b/psycopg/adapter_qstring.c
index 53a8760..04bde73 100644
--- a/psycopg/adapter_qstring.c
+++ b/psycopg/adapter_qstring.c
@@ -248,12 +248,6 @@ qstring_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-qstring_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
qstring_repr(qstringObject *self)
{
@@ -269,61 +263,41 @@ qstring_repr(qstringObject *self)
PyTypeObject qstringType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.QuotedString",
- sizeof(qstringObject),
- 0,
+ sizeof(qstringObject), 0,
qstring_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
(reprfunc)qstring_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)qstring_str, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-
qstringType_doc, /*tp_doc*/
-
qstring_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
qstringObject_methods, /*tp_methods*/
qstringObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
qstring_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
qstring_new, /*tp_new*/
- (freefunc)qstring_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/connection_type.c b/psycopg/connection_type.c
index 306f710..056be01 100644
--- a/psycopg/connection_type.c
+++ b/psycopg/connection_type.c
@@ -1173,12 +1173,6 @@ connection_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-connection_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
connection_repr(connectionObject *self)
{
@@ -1213,8 +1207,7 @@ connection_traverse(connectionObject *self, visitproc visit, void *arg)
PyTypeObject connectionType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.connection",
- sizeof(connectionObject),
- 0,
+ sizeof(connectionObject), 0,
connection_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
@@ -1225,47 +1218,30 @@ PyTypeObject connectionType = {
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)connection_repr, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC |
Py_TPFLAGS_HAVE_WEAKREFS,
/*tp_flags*/
connectionType_doc, /*tp_doc*/
-
(traverseproc)connection_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
offsetof(connectionObject, weakreflist), /* tp_weaklistoffset */
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
connectionObject_methods, /*tp_methods*/
connectionObject_members, /*tp_members*/
connectionObject_getsets, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
connection_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
connection_new, /*tp_new*/
- (freefunc)connection_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/cursor_type.c b/psycopg/cursor_type.c
index 9d3b4aa..4b22190 100644
--- a/psycopg/cursor_type.c
+++ b/psycopg/cursor_type.c
@@ -1951,12 +1951,6 @@ cursor_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-cursor_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
cursor_repr(cursorObject *self)
{
@@ -1990,8 +1984,7 @@ cursor_traverse(cursorObject *self, visitproc visit, void *arg)
PyTypeObject cursorType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.cursor",
- sizeof(cursorObject),
- 0,
+ sizeof(cursorObject), 0,
cursor_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
@@ -2002,47 +1995,30 @@ PyTypeObject cursorType = {
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)cursor_repr, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER |
Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_WEAKREFS ,
/*tp_flags*/
cursorType_doc, /*tp_doc*/
-
(traverseproc)cursor_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
offsetof(cursorObject, weakreflist), /*tp_weaklistoffset*/
-
cursor_iter, /*tp_iter*/
cursor_next, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
cursorObject_methods, /*tp_methods*/
cursorObject_members, /*tp_members*/
cursorObject_getsets, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
cursor_init, /*tp_init*/
0, /*tp_alloc Will be set to PyType_GenericAlloc in module init*/
cursor_new, /*tp_new*/
- (freefunc)cursor_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/diagnostics_type.c b/psycopg/diagnostics_type.c
index 5e302f0..36354ff 100644
--- a/psycopg/diagnostics_type.c
+++ b/psycopg/diagnostics_type.c
@@ -147,12 +147,6 @@ diagnostics_dealloc(diagnosticsObject* self)
Py_TYPE(self)->tp_free((PyObject *)self);
}
-static void
-diagnostics_del(PyObject* self)
-{
- PyObject_GC_Del(self);
-}
-
/* object type */
@@ -173,8 +167,7 @@ static const char diagnosticsType_doc[] =
PyTypeObject diagnosticsType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.Diagnostics",
- sizeof(diagnosticsObject),
- 0,
+ sizeof(diagnosticsObject), 0,
(destructor)diagnostics_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
@@ -185,45 +178,28 @@ PyTypeObject diagnosticsType = {
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
diagnosticsType_doc, /*tp_doc*/
-
(traverseproc)diagnostics_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
0, /*tp_methods*/
0, /*tp_members*/
diagnosticsObject_getsets, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
(initproc)diagnostics_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
diagnostics_new, /*tp_new*/
- (freefunc)diagnostics_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/error_type.c b/psycopg/error_type.c
index ac62c4e..21b0c4e 100644
--- a/psycopg/error_type.c
+++ b/psycopg/error_type.c
@@ -245,8 +245,7 @@ static PyMethodDef error_methods[] = {
PyTypeObject errorType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2.Error",
- sizeof(errorObject),
- 0,
+ sizeof(errorObject), 0,
(destructor)error_dealloc, /* tp_dealloc */
0, /*tp_print*/
0, /*tp_getattr*/
@@ -281,11 +280,4 @@ PyTypeObject errorType = {
(initproc)error_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
error_new, /*tp_new*/
- 0, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/lobject_type.c b/psycopg/lobject_type.c
index fb47752..6f6ac33 100644
--- a/psycopg/lobject_type.c
+++ b/psycopg/lobject_type.c
@@ -392,12 +392,6 @@ lobject_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-lobject_del(PyObject* self)
-{
- PyObject_Del(self);
-}
-
static PyObject *
lobject_repr(lobjectObject *self)
{
@@ -414,8 +408,7 @@ lobject_repr(lobjectObject *self)
PyTypeObject lobjectType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.lobject",
- sizeof(lobjectObject),
- 0,
+ sizeof(lobjectObject), 0,
lobject_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
@@ -426,47 +419,30 @@ PyTypeObject lobjectType = {
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)lobject_repr, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_ITER, /*tp_flags*/
lobjectType_doc, /*tp_doc*/
-
0, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
lobjectObject_methods, /*tp_methods*/
lobjectObject_members, /*tp_members*/
lobjectObject_getsets, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
lobject_init, /*tp_init*/
0, /*tp_alloc Will be set to PyType_GenericAlloc in module init*/
lobject_new, /*tp_new*/
- (freefunc)lobject_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
#endif
diff --git a/psycopg/microprotocols_proto.c b/psycopg/microprotocols_proto.c
index 775889d..c0afc23 100644
--- a/psycopg/microprotocols_proto.c
+++ b/psycopg/microprotocols_proto.c
@@ -135,12 +135,6 @@ isqlquote_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return type->tp_alloc(type, 0);
}
-static void
-isqlquote_del(PyObject* self)
-{
- PyObject_Del(self);
-}
-
/* object type */
@@ -152,8 +146,7 @@ isqlquote_del(PyObject* self)
PyTypeObject isqlquoteType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.ISQLQuote",
- sizeof(isqlquoteObject),
- 0,
+ sizeof(isqlquoteObject), 0,
isqlquote_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
@@ -164,45 +157,28 @@ PyTypeObject isqlquoteType = {
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
isqlquoteType_doc, /*tp_doc*/
-
0, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
isqlquoteObject_methods, /*tp_methods*/
isqlquoteObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
isqlquote_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
isqlquote_new, /*tp_new*/
- (freefunc)isqlquote_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/notify_type.c b/psycopg/notify_type.c
index 03ff192..beec933 100644
--- a/psycopg/notify_type.c
+++ b/psycopg/notify_type.c
@@ -115,12 +115,6 @@ notify_dealloc(notifyObject *self)
Py_TYPE(self)->tp_free((PyObject *)self);
}
-static void
-notify_del(PyObject *self)
-{
- PyObject_GC_Del(self);
-}
-
/* Convert a notify into a 2 or 3 items tuple. */
static PyObject *
@@ -278,63 +272,41 @@ static PySequenceMethods notify_sequence = {
PyTypeObject notifyType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2.extensions.Notify",
- sizeof(notifyObject),
- 0,
+ sizeof(notifyObject), 0,
(destructor)notify_dealloc, /* tp_dealloc */
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)notify_repr, /*tp_repr*/
0, /*tp_as_number*/
&notify_sequence, /*tp_as_sequence*/
0, /*tp_as_mapping*/
(hashfunc)notify_hash, /*tp_hash */
-
0, /*tp_call*/
0, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
notify_doc, /*tp_doc*/
-
(traverseproc)notify_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
(richcmpfunc)notify_richcompare, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
0, /*tp_methods*/
notify_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
(initproc)notify_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
notify_new, /*tp_new*/
- (freefunc)notify_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
diff --git a/psycopg/typecast.c b/psycopg/typecast.c
index 8504631..7450690 100644
--- a/psycopg/typecast.c
+++ b/psycopg/typecast.c
@@ -441,12 +441,6 @@ typecast_traverse(PyObject *obj, visitproc visit, void *arg)
return 0;
}
-static void
-typecast_del(void *self)
-{
- PyObject_GC_Del(self);
-}
-
static PyObject *
typecast_repr(PyObject *self)
{
@@ -489,9 +483,7 @@ typecast_call(PyObject *obj, PyObject *args, PyObject *kwargs)
PyTypeObject typecastType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2._psycopg.type",
- sizeof(typecastObject),
- 0,
-
+ sizeof(typecastObject), 0,
typecast_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
@@ -502,48 +494,31 @@ PyTypeObject typecastType = {
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
typecast_call, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_RICHCOMPARE |
Py_TPFLAGS_HAVE_GC, /*tp_flags*/
"psycopg type-casting object", /*tp_doc*/
-
typecast_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
typecast_richcompare, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
0, /*tp_methods*/
typecastObject_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
0, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
0, /*tp_new*/
- typecast_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};
static PyObject *
diff --git a/psycopg/typecast_binary.c b/psycopg/typecast_binary.c
index d63c702..95bf3dc 100644
--- a/psycopg/typecast_binary.c
+++ b/psycopg/typecast_binary.c
@@ -110,9 +110,8 @@ static PyBufferProcs chunk_as_buffer =
PyTypeObject chunkType = {
PyVarObject_HEAD_INIT(NULL, 0)
- "psycopg2._psycopg.chunk", /* tp_name */
- sizeof(chunkObject), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "psycopg2._psycopg.chunk",
+ sizeof(chunkObject), 0,
(destructor) chunk_dealloc, /* tp_dealloc*/
0, /* tp_print */
0, /* tp_getattr */
diff --git a/psycopg/xid_type.c b/psycopg/xid_type.c
index 2bc065b..70cbb04 100644
--- a/psycopg/xid_type.c
+++ b/psycopg/xid_type.c
@@ -189,12 +189,6 @@ xid_dealloc(xidObject *self)
Py_TYPE(self)->tp_free((PyObject *)self);
}
-static void
-xid_del(PyObject *self)
-{
- PyObject_GC_Del(self);
-}
-
static Py_ssize_t
xid_len(xidObject *self)
{
@@ -308,63 +302,41 @@ static struct PyMethodDef xid_methods[] = {
PyTypeObject xidType = {
PyVarObject_HEAD_INIT(NULL, 0)
"psycopg2.extensions.Xid",
- sizeof(xidObject),
- 0,
+ sizeof(xidObject), 0,
(destructor)xid_dealloc, /* tp_dealloc */
0, /*tp_print*/
-
0, /*tp_getattr*/
0, /*tp_setattr*/
-
0, /*tp_compare*/
-
(reprfunc)xid_repr, /*tp_repr*/
0, /*tp_as_number*/
&xid_sequence, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
-
0, /*tp_call*/
(reprfunc)xid_str, /*tp_str*/
-
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
-
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
xid_doc, /*tp_doc*/
-
(traverseproc)xid_traverse, /*tp_traverse*/
0, /*tp_clear*/
-
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
-
0, /*tp_iter*/
0, /*tp_iternext*/
-
- /* Attribute descriptor and subclassing stuff */
-
xid_methods, /*tp_methods*/
xid_members, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
-
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
-
(initproc)xid_init, /*tp_init*/
0, /*tp_alloc will be set to PyType_GenericAlloc in module init*/
xid_new, /*tp_new*/
- (freefunc)xid_del, /*tp_free Low-level free-memory routine */
- 0, /*tp_is_gc For PyObject_IS_GC */
- 0, /*tp_bases*/
- 0, /*tp_mro method resolution order */
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0 /*tp_weaklist*/
};