# Copyright (C) 2020 The Psycopg Team
from typing import Any, Dict, List, Optional, Sequence, Tuple
-from typing import DefaultDict, Type, TYPE_CHECKING
+from typing import DefaultDict, TYPE_CHECKING
from collections import defaultdict
from . import pq
from . import postgres
from . import errors as e
-from .abc import Buffer, LoadFunc, AdaptContext, PyFormat, DumperKey
+from .abc import Buffer, LoadFunc, AdaptContext, PyFormat, DumperKey, NoneType
from .rows import Row, RowMaker
from ._compat import TypeAlias
from .postgres import INVALID_OID, TEXT_OID
from .pq.abc import PGresult
from .connection import BaseConnection
-NoneType: Type[None] = type(None)
DumperCache: TypeAlias = Dict[DumperKey, "Dumper"]
OidDumperCache: TypeAlias = Dict[int, "Dumper"]
LoaderCache: TypeAlias = Dict[int, "Loader"]
from .connection import BaseConnection
from ._adapters_map import AdaptersMap
+NoneType: type = type(None)
+
# An object implementing the buffer protocol
Buffer: TypeAlias = Union[bytes, bytearray, memoryview]
from ._typeinfo import TypeInfo, TypesRegistry
from . import errors as e
-from .abc import AdaptContext
+from .abc import AdaptContext, NoneType
from .rows import Row, RowFactory, AsyncRowFactory, TupleRow
from .postgres import TEXT_OID
from .conninfo import ConnectionInfo
def register_crdb_none_adapters(context: AdaptContext) -> None:
- context.adapters.register_dumper(type(None), CrdbNoneDumper)
+ context.adapters.register_dumper(NoneType, CrdbNoneDumper)
for t in [
from .. import pq
from .. import errors as e
from .. import postgres
-from ..abc import AdaptContext, Buffer, Dumper, DumperKey
+from ..abc import AdaptContext, Buffer, Dumper, DumperKey, NoneType
from ..adapt import RecursiveDumper, RecursiveLoader, PyFormat
from .._struct import pack_len, unpack_len
from ..postgres import TEXT_OID, INVALID_OID
_unpack_dim = cast(Callable[[bytes, int], Tuple[int, int]], _struct_dim.unpack_from)
TEXT_ARRAY_OID = postgres.types["text"].array_oid
-NoneType: type = type(None)
class BaseListDumper(RecursiveDumper):
# Copyright (C) 2020 The Psycopg Team
-from ..abc import AdaptContext
+from ..abc import AdaptContext, NoneType
from ..adapt import Dumper
def register_default_adapters(context: AdaptContext) -> None:
- context.adapters.register_dumper(type(None), NoneDumper)
+ context.adapters.register_dumper(NoneType, NoneDumper)