From: Daniel Robert Date: Mon, 11 Mar 2024 21:34:20 +0000 (-0700) Subject: Fixes: #11083 (#11095) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3551c7b66ab0318deef419fbe61fe038b6e2825c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Fixes: #11083 (#11095) --- diff --git a/lib/sqlalchemy/engine/util.py b/lib/sqlalchemy/engine/util.py index e047b94b79..34c615c841 100644 --- a/lib/sqlalchemy/engine/util.py +++ b/lib/sqlalchemy/engine/util.py @@ -17,6 +17,7 @@ from typing import TypeVar from .. import exc from .. import util from ..util._has_cy import HAS_CYEXTENSION +from ..util.typing import Self if typing.TYPE_CHECKING or not HAS_CYEXTENSION: from ._py_util import _distill_params_20 as _distill_params_20 @@ -113,7 +114,7 @@ class TransactionalContext: "before emitting further commands." ) - def __enter__(self) -> TransactionalContext: + def __enter__(self) -> Self: subject = self._get_subject() # none for outer transaction, may be non-None for nested diff --git a/test/typing/plain_files/orm/session.py b/test/typing/plain_files/orm/session.py index 12a261a84f..39b41dfbb7 100644 --- a/test/typing/plain_files/orm/session.py +++ b/test/typing/plain_files/orm/session.py @@ -97,6 +97,12 @@ with Session(e) as sess: User.id ).offset(User.id) + # test #11083 + + with sess.begin() as tx: + # EXPECTED_TYPE: SessionTransaction + reveal_type(tx) + # more result tests in typed_results.py