From cb06b56d7cef72ad5842a11adaa5dd28918af39a Mon Sep 17 00:00:00 2001 From: sashass1315 Date: Fri, 6 Feb 2026 19:55:44 +0200 Subject: [PATCH] core/rawdb: add DeleteRange to tableReplayer --- core/rawdb/table.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/rawdb/table.go b/core/rawdb/table.go index d38afdaa35..92f62232a6 100644 --- a/core/rawdb/table.go +++ b/core/rawdb/table.go @@ -17,6 +17,8 @@ package rawdb import ( + "errors" + "github.com/ethereum/go-ethereum/ethdb" ) @@ -272,6 +274,16 @@ func (r *tableReplayer) Delete(key []byte) error { return r.w.Delete(trimmed) } +// DeleteRange implements the interface KeyValueRangeDeleter. +func (r *tableReplayer) DeleteRange(start, end []byte) error { + trimmedStart := start[len(r.prefix):] + trimmedEnd := end[len(r.prefix):] + if rangeDeleter, ok := r.w.(ethdb.KeyValueRangeDeleter); ok { + return rangeDeleter.DeleteRange(trimmedStart, trimmedEnd) + } + return errors.New("ethdb.KeyValueWriter does not implement DeleteRange") +} + // Replay replays the batch contents. func (b *tableBatch) Replay(w ethdb.KeyValueWriter) error { return b.batch.Replay(&tableReplayer{w: w, prefix: b.prefix})