fix(backend): rollback write transaction on error in SQL query block

Use explicit except/else instead of finally to ensure write transactions
are rolled back when an exception occurs, rather than committed.
This commit is contained in:
Zamil Majdy
2026-04-01 18:13:37 +02:00
parent e3183f1955
commit bee76962b0

View File

@@ -276,7 +276,10 @@ def _run_in_transaction(
{col: _serialize_value(val) for col, val in zip(columns, row)}
for row in rows
]
finally:
except Exception:
conn.execute(text("ROLLBACK"))
raise
else:
conn.execute(text("ROLLBACK" if read_only else "COMMIT"))
return results, columns, affected