From ea3743cb04b531ea5a107297e01662ed0b0c73e7 Mon Sep 17 00:00:00 2001 From: Nikolai Papin Date: Sun, 22 Jun 2025 12:41:22 +0300 Subject: [PATCH] fixed: error handling in commit; refactor: exposed untransactional queries for transactional db helper again but with a clearer name this time since it still may be useful --- backend/internal/database/helper.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/backend/internal/database/helper.go b/backend/internal/database/helper.go index df88445..36f7722 100644 --- a/backend/internal/database/helper.go +++ b/backend/internal/database/helper.go @@ -18,7 +18,7 @@ type DbHelper struct { type dbHelperTransactionImpl struct { CTX context.Context - queries Queries + TXlessQueries Queries TX pgx.Tx TXQueries Queries } @@ -48,7 +48,7 @@ func NewDbHelperTransaction(dbContext DbContext) (DbHelperTransaction, *dbHelper obj := &dbHelperTransactionImpl{ CTX: ctx, - queries: *queries, + TXlessQueries: *queries, TX: tx, TXQueries: *txQueries, } @@ -58,10 +58,16 @@ func NewDbHelperTransaction(dbContext DbContext) (DbHelperTransaction, *dbHelper // Commit implements DbHelperTransaction. func (d *dbHelperTransactionImpl) Commit() error { - err := d.TX.Commit(d.CTX) + errCommit := d.TX.Commit(d.CTX) - if err != nil { - return err + if errCommit != nil { + errRollback := d.TX.Rollback(d.CTX) + + if errRollback != nil { + return errRollback + } + + return errCommit } return nil }