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, + } +}