From: Daniele Varrazzo Date: Sun, 29 Mar 2020 02:18:38 +0000 (+1300) Subject: Dropped local encoder/decoder in int adapters X-Git-Tag: 3.0.dev0~651 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f9884ab6ccd0a1da396bc350fefcfff18fe4d674;p=thirdparty%2Fpsycopg.git Dropped local encoder/decoder in int adapters Premature optimization, and leaks in the globals adapters maps, which are otherwise very readable in modern Python versions. --- diff --git a/psycopg3/types/numeric.py b/psycopg3/types/numeric.py index 60d8a25ae..0dd0213b8 100644 --- a/psycopg3/types/numeric.py +++ b/psycopg3/types/numeric.py @@ -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])