diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-05-06 16:09:52 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-05-15 21:57:01 -0400 |
commit | 18a73fb1d1c267842ead5dacd05a49f4344d8b22 (patch) | |
tree | cdd1144c7661b13bc4ada83912800f91055b466d /lib/sqlalchemy/sql/_typing.py | |
parent | 257de6ebe15d3076e19f05f93c5b3c7fae25a4d3 (diff) | |
download | sqlalchemy-18a73fb1d1c267842ead5dacd05a49f4344d8b22.tar.gz |
revenge of pep 484
trying to get remaining must-haves for ORM
Change-Id: I66a3ecbbb8e5ba37c818c8a92737b576ecf012f7
Diffstat (limited to 'lib/sqlalchemy/sql/_typing.py')
-rw-r--r-- | lib/sqlalchemy/sql/_typing.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/_typing.py b/lib/sqlalchemy/sql/_typing.py index f49a6d3ec..ed1bd2832 100644 --- a/lib/sqlalchemy/sql/_typing.py +++ b/lib/sqlalchemy/sql/_typing.py @@ -61,6 +61,9 @@ if TYPE_CHECKING: _T = TypeVar("_T", bound=Any) +_CE = TypeVar("_CE", bound="ColumnElement[Any]") + + class _HasClauseElement(Protocol): """indicates a class that has a __clause_element__() method""" @@ -68,6 +71,13 @@ class _HasClauseElement(Protocol): ... +class _CoreAdapterProto(Protocol): + """protocol for the ClauseAdapter/ColumnAdapter.traverse() method.""" + + def __call__(self, obj: _CE) -> _CE: + ... + + # match column types that are not ORM entities _NOT_ENTITY = TypeVar( "_NOT_ENTITY", |