It stalls in the rollback. The ALTER TABLE seems to both succeed and fail according to the SP_DEBUG output.
After that the ROLLBACK promise never resolves. Minimal example: __async__ void main() { object conn = Sql.Sql("pgsql://mikekilmer:@localhost/thedb"); werror("start\n"); await(conn->promise_query("begin"))->get(); catch (await(conn->promise_query("ALTER TABLE nonexistenttable ADD id INT"))->get()); await(conn->promise_query("rollback"))->get(); werror("done\n"); } (Same results on LINUX) And hi and thank you. Mike