Skip to content

Commit 1b8a8a4

Browse files
committed
tapdb: add support for error return from NewMultiverseStore
1 parent 13b0bad commit 1b8a8a4

File tree

5 files changed

+31
-13
lines changed

5 files changed

+31
-13
lines changed

tapcfg/server.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,14 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
136136
cfgLogger.Debugf("multiverse_cache=%v",
137137
spew.Sdump(cfg.Universe.MultiverseCaches))
138138

139-
multiverse := tapdb.NewMultiverseStore(
139+
multiverse, err := tapdb.NewMultiverseStore(
140140
multiverseDB, &tapdb.MultiverseStoreConfig{
141141
Caches: *cfg.Universe.MultiverseCaches,
142142
},
143143
)
144+
if err != nil {
145+
return nil, fmt.Errorf("create multiverse store: %w", err)
146+
}
144147

145148
uniStatsDB := tapdb.NewTransactionExecutor(
146149
db, func(tx *sql.Tx) tapdb.UniverseStatsStore {

tapdb/multiverse.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ type MultiverseStore struct {
142142

143143
// NewMultiverseStore creates a new multiverse DB store handle.
144144
func NewMultiverseStore(db BatchedMultiverse,
145-
cfg *MultiverseStoreConfig) *MultiverseStore {
145+
cfg *MultiverseStoreConfig) (*MultiverseStore, error) {
146146

147147
return &MultiverseStore{
148148
db: db,
@@ -162,7 +162,7 @@ func NewMultiverseStore(db BatchedMultiverse,
162162
cfg.Caches.LeavesPerUniverse,
163163
),
164164
transferProofDistributor: fn.NewEventDistributor[proof.Blob](),
165-
}
165+
}, nil
166166
}
167167

168168
// namespaceForProof returns the multiverse namespace used for the given proof

tapdb/sqlutils_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ func (d *DbHandler) AddRandomServerAddrs(t *testing.T,
241241
}
242242

243243
// newDbHandleFromDb creates a new database store handle given a database store.
244-
func newDbHandleFromDb(db *BaseDB) *DbHandler {
244+
func newDbHandleFromDb(t *testing.T, db *BaseDB) *DbHandler {
245245
testClock := clock.NewTestClock(time.Now())
246246

247247
// Gain a handle to the pending (minting) universe federation store.
@@ -258,9 +258,10 @@ func newDbHandleFromDb(db *BaseDB) *DbHandler {
258258
return db.WithTx(tx)
259259
},
260260
)
261-
multiverseStore := NewMultiverseStore(
261+
multiverseStore, err := NewMultiverseStore(
262262
multiverseTxCreator, DefaultMultiverseStoreConfig(),
263263
)
264+
require.NoError(t, err)
264265

265266
// Gain a handle to the pending (minting) assets store.
266267
assetMintingDB := NewTransactionExecutor(
@@ -301,12 +302,12 @@ func newDbHandleFromDb(db *BaseDB) *DbHandler {
301302
// path.
302303
func NewDbHandleFromPath(t *testing.T, dbPath string) *DbHandler {
303304
db := NewTestDbHandleFromPath(t, dbPath)
304-
return newDbHandleFromDb(db.BaseDB)
305+
return newDbHandleFromDb(t, db.BaseDB)
305306
}
306307

307308
// NewDbHandle creates a new database store handle.
308309
func NewDbHandle(t *testing.T) *DbHandler {
309310
// Create a new test database with the default database file path.
310311
db := NewTestDB(t)
311-
return newDbHandleFromDb(db.BaseDB)
312+
return newDbHandleFromDb(t, db.BaseDB)
312313
}

tapdb/universe_test.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,29 @@ func newTestMultiverse(t testing.TB) (*MultiverseStore, sqlc.Querier) {
9393
},
9494
)
9595

96-
return NewMultiverseStore(dbTxer, DefaultMultiverseStoreConfig()), db
96+
multiverseStore, err := NewMultiverseStore(
97+
dbTxer, DefaultMultiverseStoreConfig(),
98+
)
99+
require.NoError(t, err)
100+
101+
return multiverseStore, db
97102
}
98103

99-
func newTestMultiverseWithDb(db *BaseDB) (*MultiverseStore, sqlc.Querier) {
104+
func newTestMultiverseWithDb(t *testing.T, db *BaseDB) (*MultiverseStore,
105+
sqlc.Querier) {
106+
100107
dbTxer := NewTransactionExecutor(
101108
db, func(tx *sql.Tx) BaseMultiverseStore {
102109
return db.WithTx(tx)
103110
},
104111
)
105112

106-
return NewMultiverseStore(dbTxer, DefaultMultiverseStoreConfig()), db
113+
multiverseStore, err := NewMultiverseStore(
114+
dbTxer, DefaultMultiverseStoreConfig(),
115+
)
116+
require.NoError(t, err)
117+
118+
return multiverseStore, db
107119
}
108120

109121
func newTestUniverseWithDb(db *BaseDB,
@@ -262,7 +274,7 @@ func TestUniverseIssuanceProofs(t *testing.T) {
262274
)
263275
db := NewTestDB(t)
264276
baseUniverse, _ := newTestUniverseWithDb(db.BaseDB, id)
265-
multiverse, _ := newTestMultiverseWithDb(db.BaseDB)
277+
multiverse, _ := newTestMultiverseWithDb(t, db.BaseDB)
266278

267279
const numLeaves = 4
268280

@@ -558,9 +570,10 @@ func TestUniverseTreeIsolation(t *testing.T) {
558570
return db.WithTx(tx)
559571
},
560572
)
561-
multiverse := NewMultiverseStore(
573+
multiverse, err := NewMultiverseStore(
562574
multiverseDB, DefaultMultiverseStoreConfig(),
563575
)
576+
require.NoError(t, err)
564577

565578
rootNodes, err := multiverse.RootNodes(
566579
ctx, universe.RootNodesQuery{

tapgarden/custodian_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,10 @@ func newProofArchiveForDB(t *testing.T, db *tapdb.BaseDB) (*proof.MultiArchiver,
136136
return db.WithTx(tx)
137137
},
138138
)
139-
multiverse := tapdb.NewMultiverseStore(
139+
multiverse, err := tapdb.NewMultiverseStore(
140140
multiverseDB, tapdb.DefaultMultiverseStoreConfig(),
141141
)
142+
require.NoError(t, err)
142143

143144
return proofArchive, assetStore, multiverse
144145
}

0 commit comments

Comments
 (0)