Ред База Данных 5 - 5.1.0
01.10.2025
Список изменений:
JavaEngine обновлен до 2.0.1
- Jaybird обновлен до 5.0.23 для исправления типа параметра подготовленного запроса в OO API и корректной работы с rdbclient. RS-234284. RS-190784.
- Закрытие запроса для получения номера коммита сразу после выполнения, чтобы избежать зависания. RS-227045.
- Добавление полей в полнотекстовый индекс делает поиск по нему некорректным. RS-224779.
- Получение списка ролей из RDB\$ROLES напрямую, а не из RDB\$USER_PRIVILEGES. RS-221789.
- Индексация измененных записей теперь использует журналы репликации вместо таблицы FTS\$POOL. RS-216462.
- Для поля FTS$KEY теперь используется тип "VARBINARY". RS-105673.
- Взаимоблокировка потоков при остановке демона индексации. RS-214213.
- Добавлено описание файлов библиотек Java Engine и FTS. Исправлена кодировка файлов ресурсов. RS-88298.
- Обновлена реализация интерфейсов OO API. RS-192252.
CDC connector обновлен до 2.0.0-rc.9
- Загрузка конфигурации из reddatabase.connector.yaml в корне сервера, если опция с путем к конфигурации не задана в jvm.args. RS-69574.
- Добавлено описание файлов библиотеки. Исправлена кодировка файлов ресурсов. RS-88298.
- Библиотека Jaybird обновлена до 5.0.20 для корректной работы с rdbclient. RS-190784.
Исправлено
- Игнорирование конфигурации системного аудита при инициализации менеджера трейса. RS-248436.
- Отсутствие распределения IN-предикатов при наличии операций равенства по тому же полю. FB-8732.
- Ошибка создания пользователя с одним именем в разных менеджерах в одной транзакции. RS-218501.
- Завершение работы isql в Windows 7 сразу после запуска. FB-8690.
- Некорректное отображение смещения в replmgr не от начала данных, а от начала файла. RS-245339.
- Сегмент репликации читался не до конца при восстановлении из журнала. RS-244815.
- Возможные гонки при освобождении глобального мьютекса в деструкторе GlobalObject. FB-8687.
- Неправильный порядок обработки секций конфигурации трейса. RS-239271.
- Деление на ноль при попытке передать файловый BLOB вместе с записью. RS-244455.
- Ошибка добавления идентификационного поля. RS-222079.
- Несовместимость клиентской библиотеки со старыми ODS. FB-8675.
- Падение или зависание при остановке после того, как ping подключения завершился с ошибкой. FB-8674.
- Получение издателя сертификата, если локаль сервера не совпадает с системной. RS-231829.
- Ошибка о невозможности получения памяти от операционной системы. FB-8673.
- Отображение только одного подключения к реплике в mon\$replication на классике. RS-242512.
- Падение после запроса с неправильными параметрами. FB-8666.
- Ошибка подключения через провайдер Loopback, если он первый в списке провайдеров. FB-8644.
- Внезапное прерывание команды SHOW DEPENDENCIES, если в зависимостях есть пакеты. FB-8665.
- Отсутствие события TRANSACTION_ROLLBACK в трейсе при срабатывании триггеров уровня БД. FB-8653.
- Падение в триггере ON CONNECT при использовании EXECUTE STATEMENT ON EXTERNAL. FB-8649.
- Падение в TipCache::findStates. FB-8550. FB-8296.
- Некорректный порядок соединения для JOIN LATERAL с UNION, ссылающимся на внешние потоки. FB-8628.
- Разрешено подключение CryptoManager во время восстановления базы.
- Если изменение записи не затронуло поля, входящие в ключ, не выполнять системные триггеры AFTER UPDATE для контроля ссылочной целостности.
- Ошибка выполнения nbackup, если в имени файла базы данных есть национальные символы. FB-8588.
- Некорректные преобразования в/из двухбайтовой строки внутри ядра СУБД. RS-225322.
- Обработка версии 1.2 протокола TLS в LDAP.
- Зависание сервера после BUGCHECK. RS-225684.
- Возможное зависание на ошибке при назначении политики пользователю.
- Возможное отсутствие подтвержденной записи после падения сервера. RS-220168.
- Гонки во время записи в лог репликации и уменьшение объема информации, выводимой в лог. RS-240890.
- Отсутствие сообщения ошибки в stderr утилиты rdbreplmgr. RS-240659.
- Возврат текущей позиции репликации без создания нового сегмента.
- Некорректная работа утилиты rdbreplmgr с опцией -create. RS-239091.
- Проверка целостности метаданных с помощью сертификата в утилите mint. RS-234295.
- Некорректная обработка запроса после IN в одинарных скобках как списка. FB-8182.
- Мусор в сообщении об ошибки конвертации строки при наличии в запросе 'ROWS
'. FB-8592. - PERCENT_RANK может вернуть NaN вместо 0. FB-8589.
- При адаптивной репликации может быть ошибочно проигнорирован журнал репликации. RS-230401.
- Запрет одновременной блокировки bdb_syncPage и bdb_syncIO в разных контекстах одного потока. RS-221778.
- Ошибка batch_big_seg2 при восстановлении таблицы с большим количеством BLOB. FB-8574. FB-8444.
- Прекращение чтения BLOB при прерывании задачи восстановления. FB-8529.
- Ошибочное обрезание строки длиннее 255 символов при вставке из буфера в ISQL. FB-8524.
- Извлечение имени файла базы данных из параметра rdblogmgr или rdbreplmgr для использования вместе с именем хоста. RS-230668.
- Возврат корректной ошибки при попытке отзыва системной привилегии. RS-218444.
- Возможная инъекция через printf в replication.conf.
- Ошибка"Internal consistency check (page in use during flush)" при малом значении. FB-8194.
- При падении синхронного мастера репликатор может зафиксировать транзакцию, но при этом не обновить контрольный файл. RS-230282.
- Если номер транзакции в журнале меньше OAT, считать её подтверждённой. RS-200540.
- Возможное зависание при печати пулов памяти.
- Зависание сервера при использовании разделителя ascii_char(0) в функции UNLIST.
- Ошибка в iTransaction.getInfo() при встроенном соединении. FB-8520.
- Корректная инициализация (или переинициализация) файла разделяемой памяти с 2 ГБ до 4 ГБ.
- Сообщение «Error creating private namespace» в firebird.log. FB-8509.
- Взаимоблокировка между потоком репликации и AST мониторинга.
- Некорректные данные о пользователе в логе бэкапа. RS-98211.
- Ошибка преобразования old.field в UPDATE OR INSERT. FB-8508.
- Восстановлена возможность fbclient работать с несколькими BLOB-объектами с одинаковым blob_id одновременно.
- Использование любого адреса хоста для базы данных реплики в утилите repldiff. RS-226456.
- Агрегаты MIN/MAX могут нарушать порядок соединения в запросах со смешанными INNER/LEFT-соединениями. FB-8488.
- Запрещено использовать табличные пространства для внешних таблиц. RS-225266.
- Обнуление tdbb_temp_traid при возникновении исключения в check_partner_index. RS-86799.
- Замена BUGCHECK на выброс исключения в коде, связанном с индексами, там, где это безопасно. RS-86799.
- Падение на тесте gh_8221_test.
- Поддержка смещения часового пояса в шаблоне TZR для преобразования строки в дату. FB-8481.
- Выброс исключения в случае несуществующей даты. FB-8469.
- Исправлено некорректное поведение шаблонов FF1 - FF4 в формате CAST FORMAT при преобразовании строки в дату и время. FB-8454. FB-8459.
- Ошибка при склеивании в запросе "0" с order. RS-222463.
- Падение при неправильном формате databases.conf, который начинается с подсекции. FB-8485.
- Откачена доработка "Возможность блокировки пользовательских подключений. RS-8598".
- Переработано взаимодействие с входными параметрами типа BLOB в функции UNLIST. RS-206824.
- Некорректное наследование WINDOW. FB-8477.
- Вывод gstat для таблиц размером более 4 ГБ.
- При удалении пользователя роль администратора отзывалась, даже если он существовал в других плагинах . RS-218500.
- Отсутствие предупреждения в gbak при невозможности использования индекса. RS-148495.
- Пользователь с привилегией "GRANT_REVOKE_ON_ANY_OBJECT" теперь может отзывать разрешения, предоставленные другим пользователем. FB-8462.
- Несанкционированный доступ к файлам сервера функцией READ_FILE. RS-187503.
- Закрытие порта port_async при принудительном закрытии основного порта. FB-8432.
- При проверке состояний транзакций в журналах репликации считать последовательность журналов с нулевым смещением предыдущей последовательностью журналов.
- Попытка сопоставить транзакции в журнале репликации с транзакциями в TIP.
- Выдавать ошибку, если logmgr не может архивировать сегмент. RS-227678.
- Рестарт сервиса возвращает ненулевой код, если он не был запущен и в системе используется Sys V init-скрипт в debian-подобных дистрибутивах. RS-220597.
- Гонки при принудительной остановке сервера. FB-8449.
- Избегать сканирования индекса на предмет нижних/верхних границ, содержащих ключи NULL. FB-8447.
- Запрет запуска конкурирующих сборок мусора (sweep). RS-229729. FB-8320.
- Падение при выполнении запроса с "partition by" и подзапросом. FB-8437.
- Падение при очистке кэша из-за пересоздания разделяемой памяти. RS-219043.
- Запрос "Create or alter generator ... start with ..." не изменял начальное значение генератора. RS-215913.
- Избыточная проверка путей в параметрах GSSLibrary и GssServerKeyfile на возможность записи при валидации конфигурации. RS-209956.
- Падение при использовании уже удалённого интерфейса обратного вызова. FB-8429.
- Ухудшение плана/производительности при использовании специальной конструкции для IN. FB-8425. FB-8109.
- Если при сопоставлении пользователя регулярное выражение в USER не может быть обработано, исключение не выбрасывается, чтобы не отменить работу других правил сопоставления. RS-211221.
- Значения параметров конфигурации не выводятся при валидации конфигурации из соображений безопасности. RS-210560.
- Возможное зависание при запуске потока шифрования. FB-8403.
- Не отключать порт, если он повторно используется в плагине WIN_SSPI.
- Возврат кода ошибки 0 при успешном завершении gbak с опциями -I или -N. RS-200975.
- Неправильный сбор статистики в потоках сборщика мусора и записи кэша. FB-8392.
- Некорректная инициализация доступности функции адаптивной репликации. RS-213871.
- Блок аутентификации добавляется для подключения при миграции. RS-211093.
- Падение, возникшее после исправления ошибки FB-8185 (Падение с запросом с WHERE CURRENT OF при включённом кэше запросов).
- Отменено исправление "Лучший выбор инверсии, когда условие OR включает узел, который также сравнивается напрямую".
- Ошибка при использовании символов ":@" в конфигурации репликации, а также добавлена подсекция для настройки логина и пароля реплики. FB-8327. RS-200912, RS-72229.
- Добавлена необходимая настройка для работы JavaEngine в jvm.args. RS-205782.
- Запрещено изменять режим FW при наличии подключений к базе данных. RS-86760.
- Ошибка оценки кардинальности для инвариантных логических значений.
- Переработано исправление для FB-5654: "Невозможно выполнить запрос (select из view с вложенным view)". FB-5654.
- Неправильный результат индексного сканирования для составного индекса, вторым сегментом в котором является текстовое поле с COLLATE UNICODE_CI. FB-8214.
- Отсутствие необходимой синхронизации при доступе к разделяемым данным мониторинга.
Улучшено
- Метод хэширования по умолчанию в конфигурации изменен на 32801 (ГОСТ Р 34.11-2012 256).
- Процедуры с SQL SECURITY DEFINER могут использовать аутентификацию через ExtAuth от имени владельца. RS-151673.
- Скорректирована логика переподключения для адаптивной (синхронно-асинхронной) реплики. RS-234332.
- Дополнительная информация в сообщении о системной ошибке. RS-230998.
- Повышена производительность парсинга JSON. RS-228485.
- Добавлено распознавание псевдонимов в directories.conf. RS-231737.
- Дополнительная информация в сообщении BUGCHECK. RS-231000.
- Рефакторинг утилиты rdblogmgr. RS-227526.
- Информация о временных зонах обновлена до версии 2025b. FB-8515.
- Добавлена возможность пользователям создавать себя в других менеджерах пользователей. RS-218996.
- MON\$COMPILED_STATEMENTS и MON\$STATEMENTS совместно используют BLOB с текстом и планом запроса. FB-8513.
- Оптимизировано отслеживание используемых табличных пространств в запросах и транзакциях. RS-203223.
- Восстановление реплики до указанной позиции и выполнение восстановления на основе журнала по требованию.
- TimeoutTimer::expired() теперь допускает округление в TimeoutTimer::currTime() до 1 мс.
- В аудите используется шестнадцатеричное представление для значений параметров типов [VAR]CHAR CHARACTER SET OCTETS и [VAR]BINARY. FB-8356.
- Вывод подробной статистики о BLOB-объектах и размерах таблиц в gstat. FB-8394.
- Возможность указывать имя пользователя в "FROM" при маппинге с помощью регулярного выражения. RS-211379.
- Возможность экранирования символа кавычек в конфигурации репликации. RS-211090.
- Отключение адаптивной репликации, если она не успела выполнить синхронизацию за указанное пользователем время. RS-228774.
- Улучшена проверка на возможные зависимости внутри сгенерированного RSB и использование LOOP JOIN или HASH JOIN в соответствии с результатом проверки.
- Неравномерное увеличение времени выполнения запроса при увеличении количества обрабатываемых записей из-за неэффективного алгоритма работы с маленькими сегментами памяти. RS-185051. FB-8421.
Добавлено
- Плагин на основе zlib для работы со сжатыми бэкапами и совместимости с Firebird. RS-203204.
- Передача небольших BLOB-объектов вместе с записями. FB-8318.
- Контрольные суммы страниц. RS-194667.
- Эвристика на базе кардинальности для выбора между HASH- и LOOP-полусоединением.
- Параметр auto_resync в конфигурации репликации. RS-213871.
- Печать OAT и NT перед восстановлением транзакции. RS-200540.
- Возможность восстановления транзакций по журналу ведущего узла. RS-200540. RS-240374. RS-244815. RS-246203.
Просмотр доступен только авторизованным пользователям
Авторизация