НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.6 >> [I128-2735] Сообщения об ошибках чтения записей без имени базы данных в журнале Database📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.6 | 🔘 Завершено |
Высший | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Database - Управление базами данных
Завершено: 02.09.2026 01:07
Проблема:
При ошибках чтения записей модуль Database записывал в PHP log только MFN и код ошибки, например mfn=46009: -605. Администратору приходилось дополнительно выяснять, к какой базе данных относится проблемная запись.
Решение: Сообщения об ошибках чтения записей теперь содержат имя базы данных вместе с MFN и кодом ошибки. По журналу можно сразу определить базу и запись, которые нужно проверить.
Технические подробности:
В Database/RecRead сообщение trigger_error дополнено именем $db->GetName(). Логика чтения записи, кеширования и сохранения _lastRecReadError не изменилась.
PR по I128-2735 для модуля Database в release/2026.2. Изменение ограничено диагностическим сообщением при ошибке чтения записи через RecRead; логика чтения, кеширования и обработки кода ошибки не меняется.
Куда смотреть:
modules/Database/__call/RecRead.inc, ветка ошибки RecRead при $res < 0. Эффект: PHP log вместо Ошибка чтения записи mfn=46009: -605 пишет Ошибка чтения записи в БД <db> (mfn=46009): -605, поэтому из лога видно имя базы данных.PHP Notice при ошибке чтения записи и не имеет отдельного UI-экрана.-605.Изменения по файлам:
modules/Database/__call/RecRead.inc
$res < 0 сообщение trigger_error дополнено именем БД через $db->GetName().-603, сохранение _lastRecReadError, кеширование и возврат результата не изменялись.Разрешение текущих конфликтов подготовлено в PR #1359 (merge/release-2026.2-to-develop-pr1358 -> develop, commit 169484ec3bf1bde29110dd8cd22cf7f5b3fae057). Обе исходные ветки защищены от прямого push; отдельный PR сохраняет направление переноса release → develop. После принятия #1359 следует повторно проверить этот PR на новые изменения релизной ветки.
Перенос всех изменений из release/2026.2, которые ещё не входят в develop.
PR создан после merge #1353: I128-2785: SocketProxy отправляет внутренние HTTPS-запросы на порт 80.
Пока этот PR открыт, последующие изменения release/2026.2 входят в него автоматически. Перед merge требуется проверить полный diff и пройти обычное review.
Перенос накопленных исправлений release/2026.2 в develop с разрешением конфликтов PR #1358.
Обе исходные ветки защищены от прямого push. Отдельная ветка содержит merge текущего release/2026.2 (e402d81e4d2a59c87254ea3bd62fbd805d6bd332) в текущий develop (df8b1a8ee2d35e0cc0c5e776d64cb71f115013e4). Новые функции develop не переносятся обратно в релизную линию. Для принятия изменений используется обычное review; PR #1358 пока остается открытым.
Разрешение конфликтов:
^, в том числе после редактирования повторений через F3. Отложенная синхронизация отменяется перед сохранением.modules/he3/tests/editor_commands_smoke.js. Существующий тест журнала статистики сохраняет путь tools/PagesStatJournalSelfTest.php.Проверки:
await Irbis.he3.testEditorCommands(). Серверное сохранение подменено; пользовательские БД не изменялись.При принятии сохранить merge-коммит и родителя release/2026.2 в истории develop (merge commit или fast-forward).
После принятия этого PR нужно повторно проверить #1358: если в release не появились новые изменения, его перенос будет полностью выполнен. Автоматизация последующих переносов release → develop не изменялась.