/ config_test_native_sql.go
config_test_native_sql.go
1 //go:build test_native_sql 2 3 package lnd 4 5 import ( 6 "context" 7 "database/sql" 8 9 "github.com/lightningnetwork/lnd/kvdb" 10 "github.com/lightningnetwork/lnd/lncfg" 11 paymentsdb "github.com/lightningnetwork/lnd/payments/db" 12 "github.com/lightningnetwork/lnd/sqldb" 13 "github.com/lightningnetwork/lnd/sqldb/sqlc" 14 ) 15 16 // RunTestSQLMigration is a build tag that indicates whether the test_native_sql 17 // build tag is set. 18 var RunTestSQLMigration = true 19 20 // getSQLMigration returns a migration function for the given version. 21 func (d *DefaultDatabaseBuilder) getSQLMigration(_ context.Context, 22 version int, _ kvdb.Backend) (func(tx *sqlc.Queries) error, 23 bool) { 24 25 switch version { 26 default: 27 // No version was matched, so we return false to indicate that 28 // no migration is known for the given version. 29 return nil, false 30 } 31 } 32 33 // getPaymentsStore returns a paymentsdb.DB backed by a paymentsdb.SQLStore 34 // implementation. 35 func (d *DefaultDatabaseBuilder) getPaymentsStore(baseDB *sqldb.BaseDB, 36 kvBackend kvdb.Backend, 37 opts ...paymentsdb.OptionModifier) (paymentsdb.DB, error) { 38 39 paymentsExecutor := sqldb.NewTransactionExecutor( 40 baseDB, func(tx *sql.Tx) paymentsdb.SQLQueries { 41 return baseDB.WithTx(tx) 42 }, 43 ) 44 45 queryConfig := d.cfg.DB.Sqlite.QueryConfig 46 if d.cfg.DB.Backend == lncfg.PostgresBackend { 47 queryConfig = d.cfg.DB.Postgres.QueryConfig 48 } 49 50 return paymentsdb.NewSQLStore( 51 &paymentsdb.SQLStoreConfig{ 52 QueryCfg: &queryConfig, 53 }, 54 paymentsExecutor, opts..., 55 ) 56 }