From 01d9c2a7244a2982b640587809657bbd2cf6c516 Mon Sep 17 00:00:00 2001 From: Viktor Torstensson Date: Wed, 27 Aug 2025 15:29:16 +0200 Subject: [PATCH] sqlcmig6: add transaction executor for Queries This commit adds a helper struct that creates a `sqldb/v2` transaction executor that wraps the `sqlcmig6.Queries` type. --- db/sqlcmig6/db.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/db/sqlcmig6/db.go b/db/sqlcmig6/db.go index 82ff72dd..f5ee12b9 100644 --- a/db/sqlcmig6/db.go +++ b/db/sqlcmig6/db.go @@ -3,6 +3,7 @@ package sqlcmig6 import ( "context" "database/sql" + "github.com/lightningnetwork/lnd/sqldb/v2" ) type DBTX interface { @@ -25,3 +26,19 @@ func (q *Queries) WithTx(tx *sql.Tx) *Queries { db: tx, } } + +type TxExecutor struct { + *sqldb.TransactionExecutor[*Queries] +} + +func NewTxExecutor(baseDB *sqldb.BaseDB, queries *Queries) *TxExecutor { + executor := sqldb.NewTransactionExecutor( + baseDB, func(tx *sql.Tx) *Queries { + return queries.WithTx(tx) + }, + ) + + return &TxExecutor{ + TransactionExecutor: executor, + } +}