Меню


[I128-2586] Database предоставляет MFN-итератор поисковой выборки


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2586] Database предоставляет MFN-итератор поисковой выборки📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Новые возможности 2026.3 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль Database - Управление базами данных

Завершено: 30.06.2026 12:19

Пользовательский опыт: Массовые операции Database должны получать MFN по поисковой выборке единым способом: на DP_Irbis64Native потоково, без построения большого массива, а на остальных провайдерах через безопасный fallback со списком MFN. Это нужно для устойчивой работы операций на больших БД.

Что изменяется: В модуль Database добавляется external call SearchMfnIterable. Он принимает поисковое выражение и необязательный диапазон MFN. Для DP_Irbis64Native wrapper вызывает provider search с ReturnMfnIterable=true и возвращает iterable-результат, если провайдер его поддержал. Для остальных провайдеров используется FindMfnList с нормализацией и фильтрацией диапазона.

Новый/изменившийся пользовательский опыт: Будущие массовые операции Database смогут одинаково работать с поисковой выборкой на разных провайдерах. На native-провайдере большие выборки будут обрабатываться постепенно, а на совместимых провайдерах сохранится предсказуемый fallback через готовый список MFN.

Границы задачи: Задача добавляет только общий Databasewrapper для MFNитератора поисковой выборки. Она не добавляет пользовательское окно, не запускает FtCache и не меняет provider-level Search.

Зависимости: Задача зависит от I1282585, потому что streamingрежим ReturnMfnIterable реализован в DP_Irbis64Native/Search.

Документация: Отдельное изменение пользовательской документации в этой задаче не требуется: wrapper не добавляет самостоятельный пользовательский экран. Пользовательские сценарии будут описаны вместе с массовыми операциями, которые его используют.

-

Вторая волна для develop.

Порядок review/merge: 35 из 68. Ветка пересобрана от develop как независимый PR: diff показывает только файлы своего слоя изменений.

1. Связанные задачи

1.1. 🔗 blocks: I128-2620

[I128-2620] Database: кеширование full-text страниц PDF и TXT Статус: Завершено | Автор: Ilya Mikhaylenko

1.2. 🔗 blocks: I128-2585

[I128-2585] DP_Irbis64Native выполняет потоковый поиск для массовых операций Статус: Завершено | Автор: Ilya Mikhaylenko