public void InsertNodeEntry(NodeID nodeID, DataTree dataTree, SubnodeBTree subnodeBTree, NodeID parentNodeID) { NodeBTreeEntry entry = new NodeBTreeEntry(); entry.nid = nodeID; entry.bidData = new BlockID(0); if (dataTree != null && dataTree.RootBlock != null) { entry.bidData = dataTree.RootBlock.BlockID; } entry.bidSub = new BlockID(0); if (subnodeBTree != null && subnodeBTree.RootBlock != null) { entry.bidSub = subnodeBTree.RootBlock.BlockID; } entry.nidParent = parentNodeID; InsertNodeEntry(entry); }
public void UpdateNodeEntry(NodeID nodeID, DataTree dataTree, SubnodeBTree subnodeBTree) { NodeBTreeLeafPage leaf = (NodeBTreeLeafPage)FindLeafBTreePage(nodeID.Value); int index = leaf.GetIndexOfEntry(nodeID.Value); if (index >= 0) { leaf.NodeEntryList[index].bidData = new BlockID(0); if (dataTree != null && dataTree.RootBlock != null) { leaf.NodeEntryList[index].bidData = dataTree.RootBlock.BlockID; } leaf.NodeEntryList[index].bidSub = new BlockID(0); if (subnodeBTree != null && subnodeBTree.RootBlock != null) { leaf.NodeEntryList[index].bidSub = subnodeBTree.RootBlock.BlockID; } // now we have to store the new leaf page, and cascade the changes up to the root page UpdatePageAndReferences(leaf); } }
public Subnode(PSTFile file, NodeID subnodeID, DataTree dataTree, SubnodeBTree subnodeBTree) : base(file, dataTree, subnodeBTree) { m_subnodeID = subnodeID; }
public HeapOnNode(DataTree dataTree) { m_dataTree = dataTree; }
private NamedPropertyContext m_propertyContext; // The BTH leaves are cached, so we use a single reference public Node(PSTFile file, DataTree dataTree, SubnodeBTree subnodeBTree) { m_file = file; m_dataTree = dataTree; m_subnodeBTree = subnodeBTree; }
public PSTNode(PSTFile file, NodeID nodeID, DataTree dataTree, SubnodeBTree subnodeBTree) : base(file, dataTree, subnodeBTree) { m_nodeID = nodeID; }