]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
fixup! fix(py): dumping non-None values when no NoneType dumper registered 1326/head
authorDylan Young <dylanyoungmeijer@gmail.com>
Tue, 23 Jun 2026 17:26:31 +0000 (14:26 -0300)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sun, 28 Jun 2026 09:21:22 +0000 (11:21 +0200)
psycopg/psycopg/_py_transformer.py

index 65426b20f5fb731359173d31c255b09bfd20f430..e9845b58dfc63a6f25b056ced40ad4e0fee1bcb1 100644 (file)
@@ -193,9 +193,7 @@ class Transformer(AdaptContext):
 
         for i in range(nparams):
             if (param := params[i]) is None:
-                if self._none_oid < 0:
-                    self._none_oid = self._get_none_oid()
-                types[i] = self._none_oid
+                types[i] = self._get_none_oid()
                 continue
 
             dumper = self.get_dumper(param, formats[i])
@@ -271,10 +269,12 @@ class Transformer(AdaptContext):
             return dumper
 
     def _get_none_oid(self) -> int:
-        try:
-            return self._adapters.get_dumper(NoneType, PY_TEXT).oid
-        except KeyError:
-            raise e.InterfaceError("None dumper not found")
+        if self._none_oid < 0:
+            try:
+                self._none_oid = self._adapters.get_dumper(NoneType, PY_TEXT).oid
+            except KeyError:
+                raise e.InterfaceError("None dumper not found")
+        return self._none_oid
 
     def get_dumper_by_oid(self, oid: int, format: pq.Format) -> abc.Dumper:
         """