Техника актуализации


НАЧАЛО >> TCP/IP сервер ИРБИС 64/128 >> Структура файлов БД ИРБИС64 >> Техника актуализации


Новые записи всегда добавляются в конец файла документов с позиции, которая определяется размером файла документов. Присваиваемый номер записи файла документов выбирается из поля NXTMFN управляющей записи.

При добавлении записи NXTMFN возрастает на 1. Кроме того, создается новая ссылка на эту новую запись в файле перекрестных ссылок с флагами –

BIT_NEW_REC  + BIT_NOTACT_REC. STATUS новой записи в файле документов имеет значение BIT_LAST_REC.

Флаг BIT_NOTACT_REC указывает факт, что новая запись должна быть затем проинвертирована.

При модификации запись записывается всегда в конец файла документов с позиции, которая определяется размером файла документов.

STATUS последней версии записи в файле документов имеет значение BIT_LAST_REC+ BIT_NOTACT_REC, STATUS старой версии записи в файле документов обновляется и становится равен BIT_ALL_ZERO (0)+ BIT_NOTACT_REC. Кроме того, создается новая ссылка на эту новую версию записи в файле перекрестных ссылок с флагом – BIT_NOTACT_REC. Ссылка назад в новой версии записи – поля MFB_LOW, MFB_HIGH - указывает на предыдущую версию записи (не зависимо от того, была ли старая версия записи проинвертирована).

Флаг BIT_NOTACT_REC указывает факт, что новая запись должна быть затем проинвертирована.

После проведения инвертирования записи в отличии от ISIS ссылка назад НЕ становится равной 0, чтобы сохранить возможность ОТКАТА.

Флаг BIT_NOTACT_REC удаляется из файла перекрестных ссылок и файла документов.

Удаление записи рассматривается как модификация  со следующими дополнительными параметрами:

В файле XRF в XRF_FLAGS добавляется флаг BIT_LOG_DEL и BIT_NOTACT_REC (после удаления записи требуется ее инвертирование).

В файле MST в STATUS добавляется флаг BIT_LOG_DEL.