internal static IndexInfo DeserializeFrom(Stream stream)
{
var reader = new BinaryReader(stream, Encoding.Unicode);
var version = reader.ReadInt32();
if (version != 2)
throw new FormatException("Invalid version number for Index-Info");
var indexType = reader.ReadString();
var indexName = reader.ReadString();
var unique = reader.ReadByte() == 1;
var offset = reader.ReadInt32();
var colCount = reader.ReadInt32();
var columnNames = new string[colCount];
for (int i = 0; i < colCount; i++) {
var columnName = reader.ReadString();
columnNames[i] = columnName;
}
return new IndexInfo(indexName, indexType, columnNames, unique, offset);
}