]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Work around __weakref__ + __slots__ + Generics bug on Python 3.6
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sat, 2 Jan 2021 21:45:06 +0000 (22:45 +0100)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 8 Jan 2021 01:32:29 +0000 (02:32 +0100)
See bug https://bugs.python.org/issue41451

psycopg3/psycopg3/cursor.py

index d03428b201bd4727ce8bd15ca1f9aad3a49e9b00..0c0d092fafcfcdbfd09230b87060939209b4b187 100644 (file)
@@ -45,11 +45,15 @@ else:
 
 
 class BaseCursor(Generic[ConnectionType]):
-    __slots__ = """
-        _conn format _adapters arraysize _closed _results _pgresult _pos
-        _iresult _rowcount _query _params _transformer
-        __weakref__
-        """.split()
+    # Slots with __weakref__ and generic bases don't work on Py 3.6
+    # https://bugs.python.org/issue41451
+    if sys.version_info >= (3, 7):
+        __slots__ = """
+            _conn format _adapters arraysize _closed _results _pgresult _pos
+            _iresult _rowcount _query _params _transformer
+            __weakref__
+            """.split()
+
     ExecStatus = pq.ExecStatus
 
     _transformer: "Transformer"