|
Структура
компактного индексного файла (типа .IDX)
Структура компактного индексного файла является закономерным продолжением
структуры обычного индексного файла типа .IDX.
Одновременно она является родственной структуре составного
индексного файла типа .CDX.
Запись заголовка компактного индексного файла
00-03 |
Указатель на корневую вершину |
04-07 |
Указатель на свободную в списке вершину (-1, если
таковая отсутствует) |
08-11 |
Резервируются для внутреннего использования |
12-13 |
Длина ключа |
14 |
Особенности индекса (любое из нижеследующих числовых
значений либо их сумма):
а. 1 - уникальный
индекс;
б. 8 - индекс имеет
дополнительный оператор FOR;
в. 32 - формат
компактного индекса;
г. 64 - заголовок
составного индекса. |
15 |
Сигнатура индекса(для использования в будущем) |
16-19 |
Зарезервированы для внутреннего использования |
20-23 |
Зарезервированы для внутреннего использования |
24-27 |
Зарезервированы для внутреннего использования |
28-31 |
Зарезервированы для внутреннего использования |
32-35 |
Зарезервированы для внутреннего использования |
36-501 |
Зарезервированы для внутреннего использования |
502-503 |
По возрастанию или убыванию:
а. 0 = возрастание;
б. 1 = убывание. |
504-505 |
Зарезервированы для внутреннего использования |
506-507 |
Длина пула выражения FOR* |
508-509 |
Зарезервированы для внутреннего использования |
510-511 |
Длина пула выражения FOR* |
510-1023 |
Пул выражения ключа (не компилируется) |
Запись внутренней вершины для компактного индексного
файла
00-01 |
Атрибуты вершины (любое из нижеследующих числовых
значений либо их сумма):
а. 0 - индексная
вершина;
б. 1 - корневая
вершина;
в. 2 - вершина-лист. |
02-03 |
Число существующих ключей (0, 1 или больше) |
04-07 |
Указатель на вершину, расположенную непосредственно
слева от данной вершины (на том же уровне; -1 - если отсутствует) |
08-11 |
Указатель на вершину, расположенную непосредственно
справа от данной вершины (на том же уровне; -1 - если отсутствует) |
12-511 |
До 500 символов, включающих в себя значение ключа
для длины ключа с четырехбайтовым шестнадцатеричным числом (хранящемся
в обычном формате слева направо):
Эта вершина
всегда содержит ключ индекса, номер записи и внутрииндексный
указатель.**
Комбинация из значения ключа и четырехбайтового шестнадцатеричного
числа будет повторена столько раз, количество которых задается в
байтах 02-03. |
Запись внешней вершины для компактного индексного файла
00-01 |
Атрибуты вершины (любое из нижеследующих числовых
значений либо их сумма):
а. 0 - индексная
вершина;
б. 1 - корневая
вершина;
в. 2 - вершина-лист. |
02-03 |
Число существующих ключей (0, 1 или больше) |
04-07 |
Указатель на вершину, расположенную непосредственно
слева от данной вершины (на том же уровне; -1 - если отсутствует) |
08-11 |
Указатель на вершину, расположенную непосредственно
справа от данной вершины (на том же уровне; -1 - если отсутствует) |
12-13 |
Свободное для распределения пространство в вершине |
14-17 |
Маска номера записи |
18 |
Маска запасного байтового счетчика |
19 |
Маска хвостового байтового счетчика |
20 |
Количество битов, используемых для номера записи |
21 |
Количество битов, используемых для запасного счетчика |
22 |
Количество битов, используемых для хвостового счетчика |
23 |
Количество байтов, содержащих номер записи, запасной
счетчик и хвостовой счетчик |
24-511 |
Ключи индексов и информация** |
* В этой информации отслеживается область, используемая
в пуле выражения ключа.
** Каждый элемент состоит из номера записи, запасного
байтового счетчика и хвостового байтового счетчика, все в сжатом виде.
Текст ключа помещается в логический конец вершины, обрабатывается он
в обратном направлении, что позволяет находить элементы предшествующих
ключей.
[Оглавление] |
|