from psycopg3_c import _psycopg3
Transformer = _psycopg3.Transformer
- _loader_classes = (Loader, _psycopg3.PyxLoader) # type: ignore
+ _loader_classes = (Loader, _psycopg3.CLoader) # type: ignore
else:
from . import transform
logger = logging.getLogger("psycopg3.adapt")
-# TODO: rename after dropping CLoader below
-cdef class PyxLoader:
+cdef class CLoader:
cdef impl.Oid oid
cdef object context
cdef object connection
cdef class RowLoader:
cdef object pyloader
- cdef PyxLoader pyxloader
+ cdef CLoader cloader
cdef class Transformer:
loader = self.get_loader(oid, fmt)
row_loader.pyloader = loader.load
- if isinstance(loader, PyxLoader):
- row_loader.pyxloader = loader
+ if isinstance(loader, CLoader):
+ row_loader.cloader = loader
else:
- row_loader.pyxloader = None
+ row_loader.cloader = None
return row_loader
val = libpq.PQgetvalue(res, crow, col)
loader = self._row_loaders[col]
- if loader.pyxloader is not None:
- pyval = loader.pyxloader.cload(val, length)
+ if loader.cloader is not None:
+ pyval = loader.cloader.cload(val, length)
else:
# TODO: no copy
pyval = loader.pyloader(val[:length])
PyLong_FromLong, PyLong_FromLongLong, PyLong_FromUnsignedLong)
-cdef class TextIntLoader(PyxLoader):
+cdef class TextIntLoader(CLoader):
cdef object cload(self, const char *data, size_t length):
return int(data)
-cdef class BinaryInt2Loader(PyxLoader):
+cdef class BinaryInt2Loader(CLoader):
cdef object cload(self, const char *data, size_t length):
return PyLong_FromLong(<int16_t>be16toh((<uint16_t *>data)[0]))
-cdef class BinaryInt4Loader(PyxLoader):
+cdef class BinaryInt4Loader(CLoader):
cdef object cload(self, const char *data, size_t length):
return PyLong_FromLong(<int32_t>be32toh((<uint32_t *>data)[0]))
-cdef class BinaryInt8Loader(PyxLoader):
+cdef class BinaryInt8Loader(CLoader):
cdef object cload(self, const char *data, size_t length):
return PyLong_FromLongLong(<int64_t>be64toh((<uint64_t *>data)[0]))
-cdef class BinaryOidLoader(PyxLoader):
+cdef class BinaryOidLoader(CLoader):
cdef object cload(self, const char *data, size_t length):
return PyLong_FromUnsignedLong(be32toh((<uint32_t *>data)[0]))
-cdef class BinaryBoolLoader(PyxLoader):
+cdef class BinaryBoolLoader(CLoader):
cdef object cload(self, const char *data, size_t length):
if data[0]:
return True
from psycopg3_c cimport libpq
-cdef class StringLoader(PyxLoader):
+cdef class StringLoader(CLoader):
cdef int is_utf8
cdef object pydecoder
return b
-cdef class TextByteaLoader(PyxLoader):
+cdef class TextByteaLoader(CLoader):
cdef object cload(self, const char *data, size_t length):
cdef size_t len_out
cdef unsigned char *out = libpq.PQunescapeBytea(
return rv
-cdef class BinaryByteaLoader(PyxLoader):
+cdef class BinaryByteaLoader(CLoader):
cdef object cload(self, const char *data, size_t length):
return data[:length]