diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-08-23 09:28:06 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-08-24 13:02:23 -0400 |
| commit | 776abf43d7404a3fa165588fd1e1e2d5ef9a9f04 (patch) | |
| tree | 135f6055d98c0a956f32378d53d6ea6c6a358ad9 /lib/sqlalchemy/engine/default.py | |
| parent | 27bf1c1c287debb69c4644bf6dc35e3bad5470ad (diff) | |
| download | sqlalchemy-776abf43d7404a3fa165588fd1e1e2d5ef9a9f04.tar.gz | |
integrate connection.terminate() for supporting dialects
Integrated support for asyncpg's ``terminate()`` method call for cases
where the connection pool is recycling a possibly timed-out connection,
where a connection is being garbage collected that wasn't gracefully
closed, as well as when the connection has been invalidated. This allows
asyncpg to abandon the connection without waiting for a response that may
incur long timeouts.
Fixes: #8419
Change-Id: Ia575af779d5733b483a72dff3690b8bbbad2bb05
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 80e687c32..9ad0ebbfc 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -237,6 +237,8 @@ class DefaultDialect(Dialect): is_async = False + has_terminate = False + # TODO: this is not to be part of 2.0. implement rudimentary binary # literals for SQLite, PostgreSQL, MySQL only within # _Binary.literal_processor @@ -620,6 +622,9 @@ class DefaultDialect(Dialect): def do_commit(self, dbapi_connection): dbapi_connection.commit() + def do_terminate(self, dbapi_connection): + self.do_close(dbapi_connection) + def do_close(self, dbapi_connection): dbapi_connection.close() |
