Ejemplo n.º 1
0
            void InitializeKeys(MDTable mdTable, int keyColIndex)
            {
                var keyColumn = mdTable.TableInfo.Columns[keyColIndex];

                rows = new RowInfo[mdTable.Rows + 1];
                if (mdTable.Rows == 0)
                {
                    return;
                }
                using (var reader = mdTable.CloneImageStream()) {
                    reader.Position = keyColumn.Offset;
                    int increment = mdTable.TableInfo.RowSize - keyColumn.Size;
                    for (uint i = 1; i <= mdTable.Rows; i++)
                    {
                        rows[i] = new RowInfo(i, keyColumn.Read(reader));
                        if (i < mdTable.Rows)
                        {
                            reader.Position += increment;
                        }
                    }
                }
            }