[I128-2528] DP_Irbis64Native должен сбрасывать кэш XRF при смене формата


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.3 >> [I128-2528] DP_Irbis64Native должен сбрасывать кэш XRF при смене формата📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.2.3 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль DP_Irbis64Native - Нативный провайдер данных к файлам СУБД ИРБИС 64/64+

Завершено: 29.06.2026 14:29

Проблема: XrfFile кэширует прочитанные чанки XRFзаписей. Метод SetIsNewXrf() меняет формат XRFзаписи между 8 и 12 байтами и пересчитывает размер чанка, но ранее не очищал уже загруженный кэш.

Если формат XRF меняется после того, как кэш был заполнен, последующие чтения могут использовать данные, разобранные с параметрами старого формата.

Ожидаемое поведение: При каждом переключении формата XRF внутренний кэш чанков должен очищаться, потому что размер записи и разметка чанка могли измениться.

Что изменяется: В XrfFile::SetIsNewXrf() добавляется сброс xrfCacheChunks перед настройкой размера записи и количества записей в чанке.

После изменения: После смены формата XRF последующее чтение выполняется из файла с актуальными параметрами формата, а не из старого кэша.