Relational NT
A relational database kernel shaped around NT-style object management.
Loading...
Searching...
No Matches
nt::ObjectManager::Branch Class Reference

A named mutable reference to a branch-tree root. More...

#include <ObjectManager.h>

Inheritance diagram for nt::ObjectManager::Branch:
nt::ObjectManager::IObject

Public Attributes

std::string name
std::string target_hash

Detailed Description

A named mutable reference to a branch-tree root.

target_hash is the merkle_root of a BRANCH_TREE — a Merkle<std::string> root mapping mg_name -> mg_hash. Path resolution walks the branch tree to translate /system/branches/<n>/multigroups/<mg>/relations/<rel> into the right /system/snapshots/<mg_hash>/relations/<rel>. Empty string means the branch has no commits yet (unborn).

Branches are the sole mutable pointer in the system; concurrent writers serialize through LifecycleManager::Contention because the BRANCH object_type carries exclusive=true. Readers never contend — they resolve the branch through its tree to the immutable Multigroups and operate on those.


The documentation for this class was generated from the following file: