diff options
Diffstat (limited to 'lib/sqlalchemy/sql')
| -rw-r--r-- | lib/sqlalchemy/sql/base.py | 9 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/coercions.py | 11 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/elements.py | 7 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/selectable.py | 8 |
4 files changed, 25 insertions, 10 deletions
diff --git a/lib/sqlalchemy/sql/base.py b/lib/sqlalchemy/sql/base.py index 60456223f..a7324c45f 100644 --- a/lib/sqlalchemy/sql/base.py +++ b/lib/sqlalchemy/sql/base.py @@ -19,9 +19,12 @@ from .visitors import ClauseVisitor from .. import exc from .. import util -coercions = None # type: types.ModuleType -elements = None # type: types.ModuleType -type_api = None # type: types.ModuleType +if util.TYPE_CHECKING: + from types import ModuleType + +coercions = None # type: ModuleType +elements = None # type: ModuleType +type_api = None # type: ModuleType PARSE_AUTOCOMMIT = util.symbol("PARSE_AUTOCOMMIT") NO_ARG = util.symbol("NO_ARG") diff --git a/lib/sqlalchemy/sql/coercions.py b/lib/sqlalchemy/sql/coercions.py index 12ec7c750..b3bf4e93b 100644 --- a/lib/sqlalchemy/sql/coercions.py +++ b/lib/sqlalchemy/sql/coercions.py @@ -17,10 +17,13 @@ from .. import inspection from .. import util from ..util import collections_abc -elements = None # type: types.ModuleType -schema = None # type: types.ModuleType -selectable = None # type: types.ModuleType -sqltypes = None # type: types.ModuleType +if util.TYPE_CHECKING: + from types import ModuleType + +elements = None # type: ModuleType +schema = None # type: ModuleType +selectable = None # type: ModuleType +sqltypes = None # type: ModuleType def _is_literal(element): diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index d94d91b16..422eb6220 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -43,6 +43,11 @@ from .. import exc from .. import inspection from .. import util +if util.TYPE_CHECKING: + from typing import Any + from typing import Optional + from typing import Union + def collate(expression, collation): """Return the clause ``expression COLLATE collation``. @@ -709,7 +714,7 @@ class ColumnElement( _alt_names = () def self_group(self, against=None): - # type: (Module, Module, Optional[Any]) -> ClauseEleent + # type: (Optional[Any]) -> ClauseElement if ( against in (operators.and_, operators.or_, operators._asbool) and self.type._type_affinity is type_api.BOOLEANTYPE._type_affinity diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 8f5503db0..136c9f868 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -50,6 +50,10 @@ from .visitors import InternalTraversal from .. import exc from .. import util +if util.TYPE_CHECKING: + from typing import Any + from typing import Optional + class _OffsetLimitParam(BindParameter): @property @@ -2096,7 +2100,7 @@ class SelectBase( _memoized_property = util.group_expirable_memoized_property() def _generate_fromclause_column_proxies(self, fromclause): - # type: (FromClause) + # type: (FromClause) -> None raise NotImplementedError() def _refresh_for_new_column(self, column): @@ -2344,7 +2348,7 @@ class SelectStatementGrouping(GroupedElement, SelectBase): _is_select_container = True def __init__(self, element): - # type: (SelectBase) + # type: (SelectBase) -> None self.element = coercions.expect(roles.SelectStatementRole, element) @property |
