]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Optimized dumpers registration moved to own modules
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Thu, 14 May 2020 07:49:40 +0000 (19:49 +1200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sun, 17 May 2020 09:29:34 +0000 (21:29 +1200)
Dropped some of the function signatures from the .pyd files as they are
not used cross-module.

psycopg3/adapt.pyx
psycopg3/types/numeric.pxd [deleted file]
psycopg3/types/numeric.pyx
psycopg3/types/text.pxd [deleted file]
psycopg3/types/text.pyx

index 4a28a5d8bbc10c49f702294716b44749e33fdca0..d16881b786d328923f414d423ca72c09e73ef748 100644 (file)
@@ -1,7 +1,5 @@
 from psycopg3.adapt cimport cloader_func, get_context_func, RowLoader
 
-from psycopg3.types cimport numeric, text
-
 
 import logging
 logger = logging.getLogger("psycopg3.adapt")
@@ -55,24 +53,3 @@ def register_builtin_c_loaders():
     logger.debug("registering optimised c loaders")
     register_numeric_c_loaders()
     register_text_c_loaders()
-
-
-cdef void register_numeric_c_loaders():
-    logger.debug("registering optimised numeric c loaders")
-    from psycopg3.types import numeric
-    register_c_loader(numeric.load_int, load_int_text)
-    register_c_loader(numeric.load_int2_binary, load_int2_binary)
-    register_c_loader(numeric.load_int4_binary, load_int4_binary)
-    register_c_loader(numeric.load_int8_binary, load_int8_binary)
-    register_c_loader(numeric.load_oid_binary, load_oid_binary)
-    register_c_loader(numeric.load_bool_binary, load_bool_binary)
-
-
-cdef void register_text_c_loaders():
-    logger.debug("registering optimised text c loaders")
-    from psycopg3 import adapt
-    from psycopg3.types import text
-    register_c_loader(text.StringLoader.load, load_text, get_context_text)
-    register_c_loader(text.UnknownLoader.load, load_text, get_context_text)
-    register_c_loader(text.load_bytea_text, load_bytea_text)
-    register_c_loader(text.load_bytea_binary, load_bytea_binary)
diff --git a/psycopg3/types/numeric.pxd b/psycopg3/types/numeric.pxd
deleted file mode 100644 (file)
index dce56be..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-cdef object load_int_text(const char *data, size_t length, void *context)
-cdef object load_int2_binary(const char *data, size_t length, void *context)
-cdef object load_int4_binary(const char *data, size_t length, void *context)
-cdef object load_int8_binary(const char *data, size_t length, void *context)
-cdef object load_oid_binary(const char *data, size_t length, void *context)
-cdef object load_bool_binary(const char *data, size_t length, void *context)
index 7faa564fd57fe7bf42e0da48d41fefeab9e41427..edab1225e54aafd9f22de51dbdf27c6c79717213 100644 (file)
@@ -1,6 +1,7 @@
 from libc.stdint cimport *
 from psycopg3.types.endian cimport be16toh, be32toh, be64toh
 
+
 from cpython.long cimport (
     PyLong_FromLong, PyLong_FromLongLong, PyLong_FromUnsignedLong)
 
@@ -8,20 +9,36 @@ from cpython.long cimport (
 cdef object load_int_text(const char *data, size_t length, void *context):
     return int(data)
 
+
 cdef object load_int2_binary(const char *data, size_t length, void *context):
     return PyLong_FromLong(<int16_t>be16toh((<uint16_t *>data)[0]))
 
+
 cdef object load_int4_binary(const char *data, size_t length, void *context):
     return PyLong_FromLong(<int32_t>be32toh((<uint32_t *>data)[0]))
 
+
 cdef object load_int8_binary(const char *data, size_t length, void *context):
     return PyLong_FromLongLong(<int64_t>be64toh((<uint64_t *>data)[0]))
 
+
 cdef object load_oid_binary(const char *data, size_t length, void *context):
     return PyLong_FromUnsignedLong(be32toh((<uint32_t *>data)[0]))
 
+
 cdef object load_bool_binary(const char *data, size_t length, void *context):
     if data[0]:
         return True
     else:
         return False
+
+
+cdef void register_numeric_c_loaders():
+    logger.debug("registering optimised numeric c loaders")
+    from psycopg3.types import numeric
+    register_c_loader(numeric.load_int, load_int_text)
+    register_c_loader(numeric.load_int2_binary, load_int2_binary)
+    register_c_loader(numeric.load_int4_binary, load_int4_binary)
+    register_c_loader(numeric.load_int8_binary, load_int8_binary)
+    register_c_loader(numeric.load_oid_binary, load_oid_binary)
+    register_c_loader(numeric.load_bool_binary, load_bool_binary)
diff --git a/psycopg3/types/text.pxd b/psycopg3/types/text.pxd
deleted file mode 100644 (file)
index b2693bc..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-cdef object load_text(const char *data, size_t length, void *context)
-cdef void *get_context_text(object loader)
index 1b73324e56abb405e950833b43cc5742f4b7659a..d12ed2227164199ced64f7096dd134164141574e 100644 (file)
@@ -37,3 +37,12 @@ cdef object load_bytea_text(const char *data, size_t length, void *context):
 
 cdef object load_bytea_binary(const char *data, size_t length, void *context):
     return data[:length]
+
+
+cdef void register_text_c_loaders():
+    logger.debug("registering optimised text c loaders")
+    from psycopg3.types import text
+    register_c_loader(text.StringLoader.load, load_text, get_context_text)
+    register_c_loader(text.UnknownLoader.load, load_text, get_context_text)
+    register_c_loader(text.load_bytea_text, load_bytea_text)
+    register_c_loader(text.load_bytea_binary, load_bytea_binary)