[#378] metabase: Implement iterator over metabase graveyard
Implement `DB.IterateOverGraveyard` method that iterates over all graves and passes passes their descriptors (new type `Grave`) to handler (new type `GraveHandler`). `Grave` currently have buried object address and garbage flag. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
3d7d074af4
commit
d72d37a322
3 changed files with 142 additions and 0 deletions
|
@ -97,6 +97,12 @@ func addressKey(addr *object.Address) []byte {
|
|||
return []byte(addr.String())
|
||||
}
|
||||
|
||||
// parses object address formed by addressKey.
|
||||
func addressFromKey(k []byte) (*object.Address, error) {
|
||||
a := object.NewAddress()
|
||||
return a, a.Parse(string(k))
|
||||
}
|
||||
|
||||
// objectKey returns key for K-V tables when key is an object id.
|
||||
func objectKey(oid *object.ID) []byte {
|
||||
return []byte(oid.String())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue