From: Daniele Varrazzo Date: Fri, 8 May 2020 12:43:39 +0000 (+1200) Subject: RowLoader definition shared into adapt X-Git-Tag: 3.0.dev0~538 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e0bdeae3fe930316c96dd7763cd29714411e3e5;p=thirdparty%2Fpsycopg.git RowLoader definition shared into adapt --- diff --git a/psycopg3/adapt.pxd b/psycopg3/adapt.pxd index feb109746..627101ace 100644 --- a/psycopg3/adapt.pxd +++ b/psycopg3/adapt.pxd @@ -1,5 +1,12 @@ +from cpython.object cimport PyObject ctypedef object (*cloader_func)(const char *data, size_t length, void *context) # ctypedef void * (*get_context_func)(PGconn_ptr conn) cdef void register_c_loader(object pyloader, cloader_func cloader) + + +cdef struct RowLoader: + PyObject *pyloader # borrowed + cloader_func cloader + void *context diff --git a/psycopg3/transform.pyx b/psycopg3/transform.pyx index 3967d815b..8e77f787c 100644 --- a/psycopg3/transform.pyx +++ b/psycopg3/transform.pyx @@ -9,7 +9,7 @@ from typing import Any, Dict, Iterable, List, Optional, Tuple from psycopg3.pq cimport libpq from psycopg3.pq.pq_cython cimport PGresult -from psycopg3.adapt cimport cloader_func +from psycopg3.adapt cimport RowLoader from psycopg3 import errors as e from psycopg3.pq.enums import Format @@ -19,12 +19,6 @@ TEXT_OID = 25 -cdef struct RowLoader: - PyObject *pyloader # borrowed - cloader_func cloader - void *context - - cdef class Transformer: """ An object that can adapt efficiently between Python and PostgreSQL.