32namespace nt::MultigroupCodec {
66 const std::string& relation_name,
const std::string& relation_root_hex);
74 const std::string& relation_name);
81 const std::string& relation_name);
Abstract KV storage backend consumed by CursorManager and Merkle.
std::vector< RelationEntry > List(IStorageBackend &store, const std::string &root_hex)
Enumerate all (name, root_hex) pairs at a multigroup root.
Definition MultigroupCodec.cpp:36
std::string InsertOne(IStorageBackend &store, const std::string &root_hex, const std::string &relation_name, const std::string &relation_root_hex)
Insert or overwrite one (relation_name → root_hex) entry.
Definition MultigroupCodec.cpp:53
std::string Lookup(IStorageBackend &store, const std::string &root_hex, const std::string &relation_name)
Look up one relation's root hex by name.
Definition MultigroupCodec.cpp:64
std::string RemoveOne(IStorageBackend &store, const std::string &root_hex, const std::string &relation_name)
Remove one relation entry from the multigroup tree.
Definition MultigroupCodec.cpp:59
std::pair< std::string, std::string > RelationEntry
One entry in a multigroup snapshot: (relation_name, root_hex).
Definition MultigroupCodec.h:34
std::string Build(IStorageBackend &store, const std::vector< RelationEntry > &relations)
Build a multigroup tree from a list of (name, root) entries.
Definition MultigroupCodec.cpp:25
Contract between CursorManager / Merkle and a physical storage engine.
Definition IStorageBackend.h:31