database: handle Commit/Rollback errors
1 files changed, 6 insertions(+), 2 deletions(-) M database/middleware.go
M database/middleware.go => database/middleware.go +6 -2
@@ 58,11 58,15 @@ func WithTx(ctx context.Context, opts *sql.TxOptions, fn func(tx *sql.Tx) error) tx.Rollback() panic(r) } - tx.Commit() }() err = fn(tx) if err != nil { - tx.Rollback() + err = tx.Rollback() + } else { + err = tx.Commit() + } + if err == sql.ErrTxDone { + err = nil } return err }