Exemple #1
0
 public static BplusTreeLong SetupFromExistingStream(Stream fromfile, long startSeek)
 {
     var dummyId = CultureInfo.InvariantCulture.LCID;
     var result = new BplusTreeLong(fromfile, 7, 100, startSeek, dummyId); // dummy values for nodesize, keysize
     result.ReadHeader();
     result.Buffers = BufferFile.SetupFromExistingStream(fromfile, startSeek+result.m_headersize);
     if (result.Buffers.Buffersize != result.Buffersize)
     {
         throw new BplusTreeException("inner and outer buffer sizes should match");
     }
     if (result.m_rootSeek!=Nullbuffernumber)
     {
         result.m_root = new BplusNode(result, null, -1, true);
         result.m_root.LoadFromBuffer(result.m_rootSeek);
     }
     return result;
 }