racket/sql: transaction rollback fails with 'a command in the transaction has already caused a commit' after ALTER TABLE
The racket/sql transaction form begins a DB transaction, runs a thunk, and rolls back on any exception, but it does not intercept DDL statements that trigger an implicit commit in the underlying database. When a statement such as ALTER TABLE is executed inside the thunk, many engines (e.g., PostgreSQL, SQLite, MySQL) commit the transaction before the rollbac