diff options
Diffstat (limited to 'lib/sqlalchemy/sql/base.py')
-rw-r--r-- | lib/sqlalchemy/sql/base.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/sqlalchemy/sql/base.py b/lib/sqlalchemy/sql/base.py index a94590da1..a408a010a 100644 --- a/lib/sqlalchemy/sql/base.py +++ b/lib/sqlalchemy/sql/base.py @@ -19,8 +19,10 @@ from itertools import zip_longest import operator import re import typing +from typing import MutableMapping from typing import Optional from typing import Sequence +from typing import Set from typing import TypeVar from . import roles @@ -36,14 +38,9 @@ from .. import util from ..util import HasMemoized as HasMemoized from ..util import hybridmethod from ..util import typing as compat_typing -from ..util._has_cy import HAS_CYEXTENSION - -if typing.TYPE_CHECKING or not HAS_CYEXTENSION: - from ._py_util import prefix_anon_map # noqa -else: - from sqlalchemy.cyextension.util import prefix_anon_map # noqa if typing.TYPE_CHECKING: + from .elements import ColumnElement from ..engine import Connection from ..engine import Result from ..engine.interfaces import _CoreMultiExecuteParams @@ -63,6 +60,8 @@ NO_ARG = util.symbol("NO_ARG") # symbols, mypy reports: "error: _Fn? not callable" _Fn = typing.TypeVar("_Fn", bound=typing.Callable) +_AmbiguousTableNameMap = MutableMapping[str, str] + class Immutable: """mark a ClauseElement as 'immutable' when expressions are cloned.""" @@ -87,6 +86,10 @@ class SingletonConstant(Immutable): _is_singleton_constant = True + _singleton: SingletonConstant + + proxy_set: Set[ColumnElement] + def __new__(cls, *arg, **kw): return cls._singleton @@ -519,6 +522,8 @@ class CompileState: plugins = {} + _ambiguous_table_name_map: Optional[_AmbiguousTableNameMap] + @classmethod def create_for_statement(cls, statement, compiler, **kw): # factory construction. |