From a7d80e21144407586b415b10ef9c113f5901788d Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Mon, 17 May 2021 08:15:19 -0400 Subject: [PATCH] database: handle Commit/Rollback errors --- database/middleware.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/database/middleware.go b/database/middleware.go index c5f164fbb4199b6f2e00ab8f797bac0b15ae0688..3988bb312d78d149f7335ada796a7d4ebf375841 100644 --- a/database/middleware.go +++ b/database/middleware.go @@ -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 }