HACK: monkey-patch gosqlite3 to rollback unconditionally after tx error
Closes:
Approved by: rhatdan
@@ -313,7 +313,7 @@ func (ai *aggInfo) Done(ctx *C.sqlite3_context) {
// Commit transaction.
func (tx *SQLiteTx) Commit() error {
_, err := tx.c.exec(context.Background(), "COMMIT", nil)
- if err != nil && err.(Error).Code == C.SQLITE_BUSY {
+ if err != nil { // && err.(Error).Code == C.SQLITE_BUSY {
// sqlite3 will leave the transaction open in this scenario.
// However, database/sql considers the transaction complete once we
// return from Commit() - we must clean up to honour its semantics.
