]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Dropped local encoder/decoder in int adapters
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sun, 29 Mar 2020 02:18:38 +0000 (15:18 +1300)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sun, 29 Mar 2020 02:18:38 +0000 (15:18 +1300)
Premature optimization, and leaks in the globals adapters maps, which
are otherwise very readable in modern Python versions.

psycopg3/types/numeric.py

index 60d8a25aeced360ec177771dc21931fa13906f1b..0dd0213b8d3a19fa6c1421ef5481c1ff68910aa2 100644 (file)
@@ -9,12 +9,15 @@ import codecs
 from ..adaptation import Adapter, Typecaster
 from .oids import type_oid
 
+_encode = codecs.lookup("ascii").encode
+_decode = codecs.lookup("ascii").decode
+
 
 @Adapter.register(int)
-def adapt_int(obj, encode=codecs.lookup("ascii").encode):
-    return encode(str(obj))[0], type_oid["numeric"]
+def adapt_int(obj):
+    return _encode(str(obj))[0], type_oid["numeric"]
 
 
 @Typecaster.register(type_oid["numeric"])
-def cast_int(data, decode=codecs.lookup("ascii").decode):
-    return int(decode(data)[0])
+def cast_int(data):
+    return int(_decode(data)[0])