mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-25 06:06:44 +00:00
fix: with context
This commit is contained in:
parent
57fec99aac
commit
9e80e2fd1d
1 changed files with 12 additions and 13 deletions
|
|
@ -445,21 +445,20 @@ func InspectDatabase(db ethdb.Database, keyPrefix, keyStart []byte) error {
|
||||||
)
|
)
|
||||||
|
|
||||||
processRange := func(ctx context.Context, rangePrefix []byte) error {
|
processRange := func(ctx context.Context, rangePrefix []byte) error {
|
||||||
// Skip ranges that are entirely before keyStart
|
var start = []byte(nil)
|
||||||
if len(keyStart) > 0 && len(rangePrefix) > 0 && rangePrefix[0] < keyStart[0] {
|
|
||||||
return nil
|
if len(keyStart) > 0 && len(rangePrefix) > 0 {
|
||||||
|
r0, s0 := rangePrefix[0], keyStart[0]
|
||||||
|
if r0 < s0 {
|
||||||
|
// Skip ranges that are entirely before keyStart
|
||||||
|
return nil
|
||||||
|
} else if r0 == s0 {
|
||||||
|
// Only apply keyStart to the range that contains it
|
||||||
|
start = keyStart[1:] // skip the first byte, as it's in rangePrefix
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
it := db.NewIterator(slices.Concat(keyPrefix, rangePrefix), start)
|
||||||
prefix = slices.Concat(keyPrefix, rangePrefix)
|
|
||||||
start = []byte(nil)
|
|
||||||
)
|
|
||||||
// Only apply keyStart to the range that contains it
|
|
||||||
if len(keyStart) > 0 && len(rangePrefix) > 0 && rangePrefix[0] == keyStart[0] {
|
|
||||||
start = keyStart[1:] // skip the first byte, as it's in rangePrefix
|
|
||||||
}
|
|
||||||
|
|
||||||
it := db.NewIterator(prefix, start)
|
|
||||||
defer it.Release()
|
defer it.Release()
|
||||||
|
|
||||||
for it.Next() {
|
for it.Next() {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue