55 Dynamic B+Tree state
Dynamic B+Tree state
struct CalculatedBTreeTypeInfo
{
const TypeOps* m_keyType;
const TypeOps* m_payloadType;
mutable ssize_t m_keyAndCrefSize;
mutable ssize_t m_keyAndPayloadSize;
};
struct BTreeTypeInfo
{
TypeOpsId m_keyTid;
TypeOpsId m_payloadTid;
mutable CalculatedBTreeTypeInfo m_bi;
};
$struct InternalNode isa IPersistable
{
cref<_Node> m_ptr;
ssize_t m_numKeyEntrys;
xvector<octet_t> m_entrys;
BTreeTypeInfo m_bti;
};
$struct LeafNode isa IPersistable
{
cref<LeafNode> m_prev;
cref<LeafNode> m_next;
ssize_t m_numKeyEntrys;
xvector<octet_t> m_entrys;
BTreeTypeInfo m_bti;
};
$class+ BPlusTree isa IPersistable
{
...
private:
ssize_t m_size;
cref<LeafNode> m_firstLeaf;
cref<LeafNode> m_lastLeaf;
cref<_Node> m_root;
ssize_t m_height;
BTreeTypeInfo m_bti;
};