Skip to content

Commit 4404e70

Browse files
committed
refactor: override backend immediately after db instantiation
1 parent 2f63ee1 commit 4404e70

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

triedb/database.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ func NewDatabase(diskdb ethdb.Database, config *Config) *Database {
106106
diskdb: diskdb,
107107
preimages: preimages,
108108
}
109+
if db.overrideBackend(diskdb, config) {
110+
return db
111+
}
109112
if config.HashDB != nil && config.PathDB != nil {
110113
log.Crit("Both 'hash' and 'path' mode are configured")
111114
}
@@ -121,7 +124,6 @@ func NewDatabase(diskdb ethdb.Database, config *Config) *Database {
121124
}
122125
db.backend = hashdb.New(diskdb, config.HashDB, resolver)
123126
}
124-
db.overrideBackend(diskdb, config)
125127
return db
126128
}
127129

triedb/database.libevm.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,13 @@ type BackendOverride interface {
5050
ReaderProvider
5151
}
5252

53-
func (db *Database) overrideBackend(diskdb ethdb.Database, config *Config) {
53+
func (db *Database) overrideBackend(diskdb ethdb.Database, config *Config) bool {
5454
if config.DBOverride == nil {
55-
return
55+
return false
5656
}
5757
if config.HashDB != nil || config.PathDB != nil {
5858
log.Crit("Database override provided when 'hash' or 'path' mode are configured")
5959
}
60-
db.backend.Close() //nolint:gosec // geth defaults to hashdb instances, which always return nil from Close()
6160

6261
db.backend = config.DBOverride(diskdb, config)
6362
switch db.backend.(type) {
@@ -66,6 +65,7 @@ func (db *Database) overrideBackend(diskdb ethdb.Database, config *Config) {
6665
default:
6766
log.Crit("Database override is neither hash- nor path-based")
6867
}
68+
return true
6969
}
7070

7171
var (

0 commit comments

Comments
 (0)