From b800908e8dc03e67c9bca3175cc2ed65dba9b190 Mon Sep 17 00:00:00 2001 From: M0d3v1 Date: Sat, 14 Feb 2026 09:22:52 +0330 Subject: [PATCH 1/2] Ensure close() runs even if rollback() fails (fix #471) --- aioodbc/connection.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/aioodbc/connection.py b/aioodbc/connection.py index 8e7ccab..f275ba5 100644 --- a/aioodbc/connection.py +++ b/aioodbc/connection.py @@ -19,8 +19,10 @@ async def _close_cursor(c: Cursor) -> None: async def _close_cursor_on_error(c: Cursor) -> None: - await c.rollback() - await c.close() + try: + await c.rollback() + finally: + await c.close() class Connection: @@ -248,8 +250,10 @@ async def _disconnect(c: "Connection") -> None: async def _disconnect_on_error(c: "Connection") -> None: - await c.rollback() - await c.close() + try: + await c.rollback() + finally: + await c.close() async def _connect( From 01c371483d4a209fb03bb842cd0c8704f2d15591 Mon Sep 17 00:00:00 2001 From: M0d3v1 Date: Sat, 14 Feb 2026 09:30:23 +0330 Subject: [PATCH 2/2] Add CHANGES.txt entry for fix #471 Co-authored-by: Cursor --- CHANGES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index 216527a..76d3b78 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,9 @@ Changes ------- +0.5.1 (unreleased) +^^^^^^^^^^^^^^^^^ +* Ensure close() runs even if rollback() fails (fix #471) + 0.5.0 (2023-10-28) ^^^^^^^^^^^^^^^^^^ * Added support for python 3.12