diff --git a/database/middleware.go b/database/middleware.go index 3988bb312d78d149f7335ada796a7d4ebf375841..0bdc7de93209cbb6a1beb6e2cf42238a79e4e851 100644 --- a/database/middleware.go +++ b/database/middleware.go @@ -61,12 +61,15 @@ } }() err = fn(tx) if err != nil { - err = tx.Rollback() + err := tx.Rollback() + if err != nil && err != sql.ErrTxDone { + panic(err) + } } else { - err = tx.Commit() - } - if err == sql.ErrTxDone { - err = nil + err := tx.Commit() + if err != nil && err != sql.ErrTxDone { + panic(err) + } } return err }