From: Daniele Varrazzo Date: Fri, 6 Jan 2023 14:11:24 +0000 (+0000) Subject: refactor: import OID constants from the _oids module X-Git-Tag: pool-3.2.0~135^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf15397bea653e2718556dd97bcbaaf44ee06ca1;p=thirdparty%2Fpsycopg.git refactor: import OID constants from the _oids module --- diff --git a/psycopg/psycopg/_transform.py b/psycopg/psycopg/_transform.py index 19bd6aec7..281cd26f2 100644 --- a/psycopg/psycopg/_transform.py +++ b/psycopg/psycopg/_transform.py @@ -14,7 +14,7 @@ from . import postgres from . import errors as e from .abc import Buffer, LoadFunc, AdaptContext, PyFormat, DumperKey, NoneType from .rows import Row, RowMaker -from .postgres import INVALID_OID, TEXT_OID +from ._oids import INVALID_OID, TEXT_OID from ._encodings import pgconn_encoding if TYPE_CHECKING: diff --git a/psycopg/psycopg/_typeinfo.py b/psycopg/psycopg/_typeinfo.py index 9b4f40f68..7ca7db7ae 100644 --- a/psycopg/psycopg/_typeinfo.py +++ b/psycopg/psycopg/_typeinfo.py @@ -6,6 +6,7 @@ information to the adapters if needed. """ # Copyright (C) 2020 The Psycopg Team + from enum import Enum from typing import Any, Dict, Iterator, Optional, overload from typing import Sequence, Tuple, Type, TypeVar, Union, TYPE_CHECKING diff --git a/psycopg/psycopg/crdb/_types.py b/psycopg/psycopg/crdb/_types.py index e685c9504..ac04c96e8 100644 --- a/psycopg/psycopg/crdb/_types.py +++ b/psycopg/psycopg/crdb/_types.py @@ -8,7 +8,7 @@ from enum import Enum from .._typeinfo import TypeInfo, TypesRegistry from ..abc import AdaptContext, NoneType -from ..postgres import TEXT_OID +from .._oids import TEXT_OID from .._adapters_map import AdaptersMap from ..types.enum import EnumDumper, EnumBinaryDumper from ..types.none import NoneDumper diff --git a/psycopg/psycopg/postgres.py b/psycopg/psycopg/postgres.py index 35aa68d63..53a8ccf59 100644 --- a/psycopg/psycopg/postgres.py +++ b/psycopg/psycopg/postgres.py @@ -99,12 +99,6 @@ for t in [ types.add(t) -# A few oids used a bit everywhere -INVALID_OID = 0 -TEXT_OID = types["text"].oid -TEXT_ARRAY_OID = types["text"].array_oid - - def register_default_adapters(context: AdaptContext) -> None: from .types import array, bool, composite, datetime, enum, json, multirange diff --git a/psycopg/psycopg/types/array.py b/psycopg/psycopg/types/array.py index e35c5e76f..3771841b8 100644 --- a/psycopg/psycopg/types/array.py +++ b/psycopg/psycopg/types/array.py @@ -13,10 +13,10 @@ from .. import errors as e from .. import postgres from ..abc import AdaptContext, Buffer, Dumper, DumperKey, NoneType, Loader, Transformer from ..adapt import RecursiveDumper, RecursiveLoader, PyFormat +from .._oids import TEXT_OID, INVALID_OID from .._compat import cache, prod from .._struct import pack_len, unpack_len from .._cmodule import _psycopg -from ..postgres import TEXT_OID, INVALID_OID from .._typeinfo import TypeInfo _struct_head = struct.Struct("!III") # ndims, hasnull, elem oid diff --git a/psycopg/psycopg/types/composite.py b/psycopg/psycopg/types/composite.py index 1c609c307..d75b1d413 100644 --- a/psycopg/psycopg/types/composite.py +++ b/psycopg/psycopg/types/composite.py @@ -14,8 +14,8 @@ from .. import pq from .. import postgres from ..abc import AdaptContext, Buffer from ..adapt import Transformer, PyFormat, RecursiveDumper, Loader +from .._oids import TEXT_OID from .._struct import pack_len, unpack_len -from ..postgres import TEXT_OID from .._typeinfo import CompositeInfo as CompositeInfo # exported here from .._encodings import _as_python_identifier diff --git a/psycopg/psycopg/types/hstore.py b/psycopg/psycopg/types/hstore.py index e1ab1d580..f668da8c6 100644 --- a/psycopg/psycopg/types/hstore.py +++ b/psycopg/psycopg/types/hstore.py @@ -11,8 +11,8 @@ from typing_extensions import TypeAlias from .. import errors as e from .. import postgres from ..abc import Buffer, AdaptContext +from .._oids import TEXT_OID from ..adapt import PyFormat, RecursiveDumper, RecursiveLoader -from ..postgres import TEXT_OID from .._typeinfo import TypeInfo _re_escape = re.compile(r'(["\\])') diff --git a/psycopg/psycopg/types/multirange.py b/psycopg/psycopg/types/multirange.py index 3eaa7f127..44235494f 100644 --- a/psycopg/psycopg/types/multirange.py +++ b/psycopg/psycopg/types/multirange.py @@ -14,8 +14,8 @@ from .. import postgres from ..pq import Format from ..abc import AdaptContext, Buffer, Dumper, DumperKey from ..adapt import RecursiveDumper, RecursiveLoader, PyFormat +from .._oids import INVALID_OID, TEXT_OID from .._struct import pack_len, unpack_len -from ..postgres import INVALID_OID, TEXT_OID from .._typeinfo import MultirangeInfo as MultirangeInfo # exported here from .range import Range, T, load_range_text, load_range_binary diff --git a/psycopg/psycopg/types/range.py b/psycopg/psycopg/types/range.py index c41848023..513f68a50 100644 --- a/psycopg/psycopg/types/range.py +++ b/psycopg/psycopg/types/range.py @@ -15,8 +15,8 @@ from .. import postgres from ..pq import Format from ..abc import AdaptContext, Buffer, Dumper, DumperKey from ..adapt import RecursiveDumper, RecursiveLoader, PyFormat +from .._oids import INVALID_OID, TEXT_OID from .._struct import pack_len, unpack_len -from ..postgres import INVALID_OID, TEXT_OID from .._typeinfo import RangeInfo as RangeInfo # exported here RANGE_EMPTY = 0x01 # range is empty diff --git a/psycopg/psycopg/types/string.py b/psycopg/psycopg/types/string.py index cd5360dba..fe5779b20 100644 --- a/psycopg/psycopg/types/string.py +++ b/psycopg/psycopg/types/string.py @@ -11,6 +11,7 @@ from ..pq import Format, Escaping from ..abc import AdaptContext from ..adapt import Buffer, Dumper, Loader from ..errors import DataError +from .._oids import INVALID_OID from .._encodings import conn_encoding if TYPE_CHECKING: @@ -215,7 +216,7 @@ def register_default_adapters(context: AdaptContext) -> None: adapters.register_dumper(str, StrDumper) adapters.register_dumper(str, StrDumperUnknown) - adapters.register_loader(postgres.INVALID_OID, TextLoader) + adapters.register_loader(INVALID_OID, TextLoader) adapters.register_loader("bpchar", TextLoader) adapters.register_loader("name", TextLoader) adapters.register_loader("text", TextLoader) @@ -235,5 +236,5 @@ def register_default_adapters(context: AdaptContext) -> None: adapters.register_dumper(memoryview, BytesBinaryDumper) adapters.register_loader("bytea", ByteaLoader) - adapters.register_loader(postgres.INVALID_OID, ByteaBinaryLoader) + adapters.register_loader(INVALID_OID, ByteaBinaryLoader) adapters.register_loader("bytea", ByteaBinaryLoader) diff --git a/tests/test_adapt.py b/tests/test_adapt.py index 2190a846d..9ca469bfb 100644 --- a/tests/test_adapt.py +++ b/tests/test_adapt.py @@ -9,7 +9,7 @@ from psycopg import pq, sql, postgres from psycopg import errors as e from psycopg.adapt import Transformer, PyFormat, Dumper, Loader from psycopg._cmodule import _psycopg -from psycopg.postgres import types as builtins, TEXT_OID +from psycopg.postgres import types as builtins from psycopg.types.array import ListDumper, ListBinaryDumper @@ -184,18 +184,21 @@ def test_cast(data, format, type, result): def test_register_loader_by_oid(conn): - assert TEXT_OID == 25 + oid = builtins["text"].oid + assert oid == 25 loader = make_loader("x") - assert conn.adapters.get_loader(TEXT_OID, pq.Format.TEXT) is not loader - conn.adapters.register_loader(TEXT_OID, loader) - assert conn.adapters.get_loader(TEXT_OID, pq.Format.TEXT) is loader + assert conn.adapters.get_loader(oid, pq.Format.TEXT) is not loader + conn.adapters.register_loader(oid, loader) + assert conn.adapters.get_loader(oid, pq.Format.TEXT) is loader def test_register_loader_by_type_name(conn): + oid = builtins["text"].oid + assert oid == 25 loader = make_loader("x") - assert conn.adapters.get_loader(TEXT_OID, pq.Format.TEXT) is not loader + assert conn.adapters.get_loader(oid, pq.Format.TEXT) is not loader conn.adapters.register_loader("text", loader) - assert conn.adapters.get_loader(TEXT_OID, pq.Format.TEXT) is loader + assert conn.adapters.get_loader(oid, pq.Format.TEXT) is loader @pytest.mark.crdb("skip", reason="global adapters don't affect crdb") @@ -497,7 +500,7 @@ def make_dumper(suffix): """Create a test dumper appending a suffix to the bytes representation.""" class TestDumper(Dumper): - oid = TEXT_OID + oid = builtins["text"].oid format = pq.Format.TEXT def dump(self, s):