mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-02-07 12:50:32 +03:00
Use faster function to build tuples in adaptation.
Fixed a refcount bug too.
This commit is contained in:
parent
df05ea7a33
commit
225b276de5
|
@ -1,3 +1,9 @@
|
|||
2010-11-08 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
||||
|
||||
* psycopg/microprotocols.c: use faster function to build tuples.
|
||||
|
||||
* psycopg/microprotocols.c: fixed refcount bug.
|
||||
|
||||
2010-11-06 Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
||||
|
||||
* lib/extras.py: added NamedTupleCursor.
|
||||
|
|
|
@ -62,13 +62,16 @@ microprotocols_init(PyObject *dict)
|
|||
int
|
||||
microprotocols_add(PyTypeObject *type, PyObject *proto, PyObject *cast)
|
||||
{
|
||||
PyObject *key;
|
||||
|
||||
if (proto == NULL) proto = (PyObject*)&isqlquoteType;
|
||||
|
||||
Dprintf("microprotocols_add: cast %p for (%s, ?)", cast, type->tp_name);
|
||||
|
||||
PyDict_SetItem(psyco_adapters,
|
||||
Py_BuildValue("(OO)", (PyObject*)type, proto),
|
||||
cast);
|
||||
key = PyTuple_Pack(2, (PyObject*)type, proto);
|
||||
PyDict_SetItem(psyco_adapters, key, cast);
|
||||
Py_DECREF(key);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -92,7 +95,7 @@ microprotocols_adapt(PyObject *obj, PyObject *proto, PyObject *alt)
|
|||
Dprintf("microprotocols_adapt: trying to adapt %s", obj->ob_type->tp_name);
|
||||
|
||||
/* look for an adapter in the registry */
|
||||
key = Py_BuildValue("(OO)", (PyObject*)obj->ob_type, proto);
|
||||
key = PyTuple_Pack(2, Py_TYPE(obj), proto);
|
||||
adapter = PyDict_GetItem(psyco_adapters, key);
|
||||
Py_DECREF(key);
|
||||
if (adapter) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user