diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-03-03 19:15:55 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-03-03 20:00:07 -0500 |
commit | 3c682d225d21faf751fe6c4d5bcb1efc0c5bf5f8 (patch) | |
tree | cc8618e6ae2f8d10b197cf167c50982da6e40228 /lib/sqlalchemy/sql/compiler.py | |
parent | 4c81d99bab0e884473abfcb573772aa5d94264c7 (diff) | |
download | sqlalchemy-3c682d225d21faf751fe6c4d5bcb1efc0c5bf5f8.tar.gz |
Run handle_error for any exceptions raised in execute_context()
Observing a SQLite connection/cursor being hung on
test_resultset -> PositionalTextTest -> test_dupe_col_obj.
this uses connectionless execution and the result object
fails to be constructed. When that happens, there is no path
for the cursor or connection to be closed / released.
Recent changes with the exception assertions in #4849 seem to
be causing a cycle to last a little longer than usual which
is exposing this issue for one particular test on SQLite.
As we want to get rid of weakref cleanup, evaluate
why we dont have handle_dbapi_exception for this whole
block, as after_cursor_execute can raise, result construction
can raise, autocommit can raise, close can raise, there
does not seem to be a reason these things should be outside
of the block that gets cleaned up.
Fixes: #5182
Change-Id: I640ac55e8c5f39d287f779fbb5dc0ab727218ca3
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
0 files changed, 0 insertions, 0 deletions