diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-15 23:43:51 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-17 14:45:04 -0500 |
| commit | 5157e0aa542f390242dd7a6d27a6ce1663230e46 (patch) | |
| tree | 113f0e5a83e8229c7d0cb9e9c47387e1d703cb29 /lib/sqlalchemy/engine/base.py | |
| parent | 20213fd1f27fea51015d753bf94c6f40674ae86f (diff) | |
| download | sqlalchemy-5157e0aa542f390242dd7a6d27a6ce1663230e46.tar.gz | |
pep-484 for pool
also extends into some areas of utils, events and others
as needed.
Formalizes a public hierarchy for pool API,
with ManagesConnection -> PoolProxiedConnection /
ConnectionPoolEntry for connectionfairy / connectionrecord,
which are now what's exposed in the event API and other
APIs. all public API docs moved to the new objects.
Corrects the mypy plugin's check for sqlalchemy-stubs
not being insatlled, which has to be imported using the
dash in the name to be effective.
Change-Id: I16c2cb43b2e840d28e70a015f370a768e70f3581
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 4fd273948..8c99f6309 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -1771,15 +1771,15 @@ class Connection(ConnectionEventsTarget, inspection.Inspectable["Inspector"]): if not self._is_disconnect: if cursor: self._safe_close_cursor(cursor) - with util.safe_reraise(warn_only=True): - # "autorollback" was mostly relevant in 1.x series. - # It's very unlikely to reach here, as the connection - # does autobegin so when we are here, we are usually - # in an explicit / semi-explicit transaction. - # however we have a test which manufactures this - # scenario in any case using an event handler. - if not self.in_transaction(): - self._rollback_impl() + # "autorollback" was mostly relevant in 1.x series. + # It's very unlikely to reach here, as the connection + # does autobegin so when we are here, we are usually + # in an explicit / semi-explicit transaction. + # however we have a test which manufactures this + # scenario in any case using an event handler. + # test/engine/test_execute.py-> test_actual_autorollback + if not self.in_transaction(): + self._rollback_impl() if newraise: raise newraise.with_traceback(exc_info[2]) from e @@ -2318,11 +2318,15 @@ class Engine( _schema_translate_map = None + dialect: Dialect + pool: Pool + url: URL + def __init__( self, - pool: "Pool", - dialect: "Dialect", - url: "URL", + pool: Pool, + dialect: Dialect, + url: URL, logging_name: Optional[str] = None, echo: Union[None, str, bool] = None, query_cache_size: int = 500, |
