src/Foundation/Data/Gimela.Data.DataStructures/BPlusTree/BPlusTreeNode.cs
/// <summary>
/// Find near-index of comparekey in leaf under this node. 
/// </summary>
/// <param name="compareKey">the key to look for</param>
/// <param name="inLeaf">the leaf where found</param>
/// <param name="lookPastOnly">If true then only look for a greater item, not an exact match.</param>
/// <returns>index of match in leaf</returns>
Find near-index of comparekey in leaf under this node.
Find near - index of comparekey in leaf under this node .
private int FindAtOrNextPositionInLeaf(string compareKey, out BPlusTreeNode inLeaf, bool lookPastOnly)
    {
      int keyPosition = this.FindAtOrNextPosition(compareKey, lookPastOnly);
      if (this.IsLeaf)
      {
        inLeaf = this;
        return keyPosition;
      }
      BPlusTreeNode child = this.LoadNodeAtIndex(keyPosition);
      return child.FindAtOrNextPositionInLeaf(compareKey, out inLeaf, lookPastOnly);
    }
private int FindAtOrNextPositionInLeaf ( string compareKey , out BPlusTreeNode inLeaf , bool lookPastOnly ) { int keyPosition = this . FindAtOrNextPosition ( compareKey , lookPastOnly ) ; if ( this . IsLeaf ) { inLeaf = this ; return keyPosition ; } BPlusTreeNode child = this . LoadNodeAtIndex ( keyPosition ) ; return child . FindAtOrNextPositionInLeaf ( compareKey , out inLeaf , lookPastOnly ) ; }
Find near-index of comparekey in leaf under this node.
Find near - index of comparekey in leaf under this node .
// 如果自己即是叶子节点 // 尝试在子节点中查找
index of match in leaf
index of match in leaf
compareKey
string
the key to look for
the key to look for
BPlusTreeNode
out
<not_specific>
lookPastOnly
bool
If true then only look for a greater item, not an exact match.
If true then only look for a greater item not an exact match .
inLeaf
<not_specific>
the leaf where found
the leaf where found