]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Support handle_error for pre_ping
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 30 May 2022 16:29:58 +0000 (12:29 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 31 May 2022 19:06:28 +0000 (15:06 -0400)
commitad14471bc99c2fb2315d3333a95dd3d7bf0a33a7
tree8eb1feafcd1fcc73437363ca22be536a6de79f77
parentd97de97eff21af3bdacffc2b625feb7e0bd6c18c
Support handle_error for pre_ping

The :meth:`.DialectEvents.handle_error` event is now moved to the
:class:`.DialectEvents` suite from the :class:`.EngineEvents` suite, and
now participates in the connection pool "pre ping" event for those dialects
that make use of disconnect codes in order to detect if the database is
live. This allows end-user code to alter the state of "pre ping". Note that
this does not include dialects which contain a native "ping" method such as
that of psycopg2 or most MySQL dialects.

Fixes: #5648
Change-Id: I353d84a4f66f309d2467b7e67621db6b8c70411e
14 files changed:
doc/build/changelog/unreleased_20/5648.rst [new file with mode: 0644]
doc/build/core/pooling.rst
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/engine/events.py
lib/sqlalchemy/engine/interfaces.py
lib/sqlalchemy/event/api.py
lib/sqlalchemy/event/base.py
lib/sqlalchemy/exc.py
lib/sqlalchemy/orm/events.py
lib/sqlalchemy/pool/events.py
test/base/test_events.py
test/engine/test_execute.py
test/engine/test_reconnect.py