|
6 | 6 | "os" |
7 | 7 |
|
8 | 8 | ds "github.com/ipfs/go-datastore" |
9 | | - dsq "github.com/ipfs/go-datastore/query" |
| 9 | + "github.com/ipfs/go-datastore/namespace" |
| 10 | + "github.com/ipfs/go-datastore/query" |
10 | 11 | "github.com/spf13/cobra" |
11 | 12 |
|
12 | 13 | rollcmd "github.com/evstack/ev-node/pkg/cmd" |
@@ -81,14 +82,15 @@ This operation is irreversible.`, |
81 | 82 | } |
82 | 83 | }() |
83 | 84 |
|
| 85 | + evDB := store.NewEvNodeKVStore(rawDB) |
84 | 86 | // Delete headerSync prefix |
85 | | - headerCount, err := deletePrefix(goCtx, rawDB, headerSyncPrefix, dryRun) |
| 87 | + headerCount, err := deletePrefix(goCtx, evDB, headerSyncPrefix, dryRun) |
86 | 88 | if err != nil { |
87 | 89 | return fmt.Errorf("failed to delete headerSync data: %w", err) |
88 | 90 | } |
89 | 91 |
|
90 | 92 | // Delete dataSync prefix |
91 | | - dataCount, err := deletePrefix(goCtx, rawDB, dataSyncPrefix, dryRun) |
| 93 | + dataCount, err := deletePrefix(goCtx, evDB, dataSyncPrefix, dryRun) |
92 | 94 | if err != nil { |
93 | 95 | return fmt.Errorf("failed to delete dataSync data: %w", err) |
94 | 96 | } |
@@ -119,17 +121,17 @@ This operation is irreversible.`, |
119 | 121 | // deletePrefix deletes all keys with the given prefix from the datastore. |
120 | 122 | // Returns the number of keys deleted. |
121 | 123 | func deletePrefix(ctx context.Context, db ds.Batching, prefix string, dryRun bool) (int, error) { |
122 | | - results, err := db.Query(ctx, dsq.Query{ |
123 | | - Prefix: prefix, |
| 124 | + count := 0 |
| 125 | + |
| 126 | + pdb := namespace.Wrap(db, ds.NewKey(prefix)) |
| 127 | + results, err := pdb.Query(ctx, query.Query{ |
124 | 128 | KeysOnly: true, |
125 | 129 | }) |
126 | 130 | if err != nil { |
127 | 131 | return 0, fmt.Errorf("failed to query keys with prefix %s: %w", prefix, err) |
128 | 132 | } |
129 | | - defer results.Close() |
130 | 133 |
|
131 | | - count := 0 |
132 | | - batch, err := db.Batch(ctx) |
| 134 | + batch, err := pdb.Batch(ctx) |
133 | 135 | if err != nil { |
134 | 136 | return 0, fmt.Errorf("failed to create batch: %w", err) |
135 | 137 | } |
|
0 commit comments