From: Dylan Young Date: Tue, 23 Jun 2026 17:26:31 +0000 (-0300) Subject: fixup! fix(py): dumping non-None values when no NoneType dumper registered X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b8b295d616977fff3e669fe449552cf63e79ae46;p=thirdparty%2Fpsycopg.git fixup! fix(py): dumping non-None values when no NoneType dumper registered --- diff --git a/psycopg/psycopg/_py_transformer.py b/psycopg/psycopg/_py_transformer.py index 65426b20f..e9845b58d 100644 --- a/psycopg/psycopg/_py_transformer.py +++ b/psycopg/psycopg/_py_transformer.py @@ -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: """