예제 #1
0
            public BTreeNodeOnDisk GetNode(BTree.BTreeAlgorithm bTree)
            {
                BTreeNodeOnDisk r = null;

                if (NodeAddress != -1)
                {
                    r = BTreeNodeOnDisk.GetNode(bTree, NodeAddress);
                }
                return(r);
            }
예제 #2
0
 /// <summary>
 /// Constructor expecting ParentTree and ParentNode params.
 ///	This form is invoked from another instance of this class when node
 ///	splitting occurs. Normally, node split occurs to accomodate new items that
 ///	could not be loaded to the node since the node is already full.
 ///	Calls <see cref="Initialize"/> for member initialization.
 /// </summary>
 /// <param name="bTree">Parent B-Tree instance</param>
 /// <param name="parentNodeAddress">Parent Node instance</param>
 protected BTreeNodeOnDisk(BTree.BTreeAlgorithm bTree, long parentNodeAddress)
 {
     Initialize(bTree, parentNodeAddress);
 }
예제 #3
0
 public BTreeNodeOnDisk(BTree.BTreeAlgorithm bTree)
 {
     Initialize(bTree, -1);
 }
예제 #4
0
 /// <summary>
 /// Do class variable/object initialization. Usually invoked from this class' constructor.
 /// </summary>
 /// <param name="bTree">Parent BTree</param>
 /// <param name="parentNodeAddress">Parent Node</param>
 protected internal void Initialize(BTree.BTreeAlgorithm bTree, long parentNodeAddress)
 {
     DiskBuffer    = bTree.CreateBlock(); //new Sop.DataBlock(bTree.IndexBlockSize);
     Slots         = new BTreeItemOnDisk[bTree.SlotLength];
     ParentAddress = parentNodeAddress;
 }