diff --git a/cmd/radiance/blockstore/yaml/yaml.go b/cmd/radiance/blockstore/yaml/yaml.go index 74c6d66..6c457ae 100644 --- a/cmd/radiance/blockstore/yaml/yaml.go +++ b/cmd/radiance/blockstore/yaml/yaml.go @@ -51,6 +51,7 @@ func run(c *cobra.Command, args []string) { defer db.Close() printRoot(db) + printMetaRange(db) if *flagSlots == "all" { dumpAllSlots(db) @@ -91,6 +92,27 @@ func printRoot(db *blockstore.DB) { fmt.Println("root:", root) } +func printMetaRange(db *blockstore.DB) { + iter := db.DB.NewIteratorCF(grocksdb.NewDefaultReadOptions(), db.CfMeta) + defer iter.Close() + + iter.SeekToFirst() + if iter.Valid() { + slot, ok := blockstore.ParseSlotKey(iter.Key().Data()) + if ok { + fmt.Printf("first_slot: %d\n", slot) + } + } + + iter.SeekToLast() + if iter.Valid() { + slot, ok := blockstore.ParseSlotKey(iter.Key().Data()) + if ok { + fmt.Printf("last_slot: %d\n", slot) + } + } +} + func dumpAllSlots(db *blockstore.DB) { iter := db.DB.NewIteratorCF(grocksdb.NewDefaultReadOptions(), db.CfMeta) iter.SeekToFirst()