]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Don't import Python API function from the main cpython package
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Thu, 23 Apr 2020 04:29:35 +0000 (16:29 +1200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Thu, 23 Apr 2020 04:31:16 +0000 (16:31 +1200)
Importing from there seems deprecated.

[skip ci]

psycopg3/transform.pyx
psycopg3/types/numeric.pyx
psycopg3/types/text.pyx

index 24c87f840a5b24cbb2f991038013a49b0c2a0f42..f59153b808cc57602ee168e3400140fc2fe9bc6e 100644 (file)
@@ -1,6 +1,8 @@
 from libc.string cimport memset
-from cpython.ref cimport PyObject
+from cpython.object cimport PyObject
+from cpython.ref cimport Py_INCREF
 from cpython.mem cimport PyMem_Malloc, PyMem_Free
+from cpython.tuple cimport PyTuple_New, PyTuple_SET_ITEM
 
 import codecs
 from typing import Any, Dict, Iterable, List, Optional, Tuple
@@ -256,13 +258,13 @@ cdef class Transformer:
         cdef int col
         cdef int length
         cdef const char *val
-        rv = cpython.PyTuple_New(self._nfields)
+        rv = PyTuple_New(self._nfields)
         for col in range(self._nfields):
             length = libpq.PQgetlength(res, crow, col)
             if length == 0:
                 if libpq.PQgetisnull(res, crow, col):
-                    cpython.Py_INCREF(None)
-                    cpython.PyTuple_SET_ITEM(rv, col, None)
+                    Py_INCREF(None)
+                    PyTuple_SET_ITEM(rv, col, None)
                     continue
 
             val = libpq.PQgetvalue(res, crow, col)
@@ -273,8 +275,8 @@ cdef class Transformer:
                 # TODO: no copy
                 pyval = (<object>loader.pyloader)(val[:length])
 
-            cpython.Py_INCREF(pyval)
-            cpython.PyTuple_SET_ITEM(rv, col, pyval)
+            Py_INCREF(pyval)
+            PyTuple_SET_ITEM(rv, col, pyval)
 
 
         return rv
index eb1b165a0d73195d72988abdf8a1a1221e872b98..10a1ff8bad135f2c46d3d8e083d44fdc0d9d31ef 100644 (file)
@@ -1,19 +1,21 @@
-cimport cpython
+from cpython.long cimport (
+    PyLong_FromLong, PyLong_FromLongLong, PyLong_FromUnsignedLong)
+
 
 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 cpython.PyLong_FromLong(unpack_int16(data, 2))
+    return PyLong_FromLong(unpack_int16(data, 2))
 
 cdef object load_int4_binary(const char *data, size_t length, void *context):
-    return cpython.PyLong_FromLong(unpack_int32(data, 4))
+    return PyLong_FromLong(unpack_int32(data, 4))
 
 cdef object load_int8_binary(const char *data, size_t length, void *context):
-    return cpython.PyLong_FromLongLong(unpack_int64(data, 8))
+    return PyLong_FromLongLong(unpack_int64(data, 8))
 
 cdef object load_oid_binary(const char *data, size_t length, void *context):
-    return cpython.PyLong_FromUnsignedLong(unpack_uint32(data, 4))
+    return PyLong_FromUnsignedLong(unpack_uint32(data, 4))
 
 cdef object load_bool_binary(const char *data, size_t length, void *context):
     if data[0]:
index 52143b4fb869cca614ee500b4eb3c21195669cbe..1fb2fb2b427b7e270ae8e156e17de1fee3a8313f 100644 (file)
@@ -1,10 +1,10 @@
-cimport cpython
+from cpython.unicode cimport PyUnicode_DecodeUTF8
 
 cdef object load_text_binary(const char *data, size_t length, void *context):
     # TODO: codec
-    return cpython.PyUnicode_DecodeUTF8(data, length, NULL)
+    return PyUnicode_DecodeUTF8(data, length, NULL)
 
 
 cdef object load_unknown_binary(const char *data, size_t length, void *context):
     # TODO: codec
-    return cpython.PyUnicode_DecodeUTF8(data, length, NULL)
+    return PyUnicode_DecodeUTF8(data, length, NULL)