diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-27 23:05:46 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-03-01 21:05:14 -0500 |
| commit | afb9634fb28b00c7b0979660e3e0bfed6caafde5 (patch) | |
| tree | 11afb462226f64d922f9d3c425a7d2c09c3d69d7 /lib/sqlalchemy/sql/selectable.py | |
| parent | 7f1a3f22abffc1529100e14fcfd07a46a49fd44f (diff) | |
| download | sqlalchemy-afb9634fb28b00c7b0979660e3e0bfed6caafde5.tar.gz | |
pep484 + abc bases for assocaitionproxy
went to this one next as it was going to be hard,
and also exercises the ORM expression hierarchy a bit.
made some adjustments to SQLCoreOperations etc.
Change-Id: Ie5dde9218dc1318252826b766d3e70b17dd24ea7
References: #6810
References: #7774
Diffstat (limited to 'lib/sqlalchemy/sql/selectable.py')
| -rw-r--r-- | lib/sqlalchemy/sql/selectable.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 836c30af7..a5cbffb5e 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -19,9 +19,11 @@ import itertools from operator import attrgetter import typing from typing import Any as TODO_Any +from typing import Any from typing import NamedTuple from typing import Optional from typing import Tuple +from typing import TypeVar from . import cache_key from . import coercions @@ -72,6 +74,8 @@ from .. import util and_ = BooleanClauseList.and_ +_T = TypeVar("_T", bound=Any) + class _OffsetLimitParam(BindParameter): inherit_cache = True @@ -5528,7 +5532,7 @@ class ScalarSelect(roles.InElementRole, Generative, Grouping): return self -class Exists(UnaryExpression): +class Exists(UnaryExpression[_T]): """Represent an ``EXISTS`` clause. See :func:`_sql.exists` for a description of usage. |
