The smallest number of values that should be contained in this node before refactoring the tree to remove this node. In a 'normal' and/or purest B+Tree this is always half of max; however for performance reasons this B+Tree allow any value equal to or less than half of max but at least 2.
            
            
            
Syntax
| Visual Basic (Declaration) |   | 
|---|
Public Property MinimumValueNodes As Integer  | 
 
| C# |   | 
|---|
public int MinimumValueNodes {get; set;} | 
 
            
            
            Property Value
A number in the range of 2 to 128 that is at most half of MaximumValueNodes.
 
            
			
			
            
            
            
Example
BPlusTree/BPlusTree.Test/TestBulkInsert.cs
             | C# |  Copy Code | 
|---|
BPlusTreeOptions<int, string> options = Options;
using (TempFile temp = new TempFile())
{
    options = Options;
    temp.Delete();
    //options.CreateFile = CreatePolicy.Always;
    //options.FileName = temp.TempPath;
    options.MaximumValueNodes = 14;
    options.MinimumValueNodes = 7;
    options.MaximumChildNodes = 6;
    options.MinimumChildNodes = 2;
    // Just to make sure we don't break some fencepost condition in the future
    for (int i = 0; i <= (options.MaximumValueNodes * options.MaximumChildNodes) + 1; i++)
        TestMergeSequenceInFile(options.Clone(), i);
    TestMergeSequenceInFile(options.Clone(), options.MaximumValueNodes * options.MaximumChildNodes * options.MaximumChildNodes);
    TestMergeSequenceInFile(options.Clone(), options.MaximumValueNodes * options.MaximumChildNodes * options.MaximumChildNodes + 1);
} | 
 
| VB.NET |  Copy Code | 
|---|
Dim options As BPlusTreeOptions(Of Integer, String) = Options
Using temp As New TempFile()
    options = Options
    temp.Delete()
    'options.CreateFile = CreatePolicy.Always;
    'options.FileName = temp.TempPath;
    options.MaximumValueNodes = 14
    options.MinimumValueNodes = 7
    options.MaximumChildNodes = 6
    options.MinimumChildNodes = 2
    ' Just to make sure we don't break some fencepost condition in the future
    Dim i As Integer = 0
    While i <= (options.MaximumValueNodes * options.MaximumChildNodes) + 1
        TestMergeSequenceInFile(options.Clone(), i)
        System.Math.Max(System.Threading.Interlocked.Increment(i),i - 1)
    End While
    TestMergeSequenceInFile(options.Clone(), options.MaximumValueNodes * options.MaximumChildNodes * options.MaximumChildNodes)
    TestMergeSequenceInFile(options.Clone(), options.MaximumValueNodes * options.MaximumChildNodes * options.MaximumChildNodes + 1)
End Using | 
 
 
            
            
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
 
            
            
See Also