Ред База Данных 5.0 - v5.0.0-rc.1 RC
7 мая 2024 г. 12:26
Список изменений
Добавлено
- Возможность получения числа всех, занятых и свободных страниц в базе через контекстные переменные PAGES_ALLOCATED, PAGES_USED и PAGES_FREE. FB-7888.
- Синтаксис изменения опции "SQL SECURITY" в ALTER PACKAGE/PROCEDURE/FUNCTION. RS-147678.
- Поддержка синтаксиса "SQL SECURITY" в объявлении внешних процедур, функций и триггеров. RS-170264.
- Агрегирующий плагин трейса. RS-164027.
- Функция "UNLIST". RS-169576.
- Таблица мониторинга MON$REPLICATION с информацией о репликации.
- Целочисленные литералы в различных системах счисления. RS-99845.
- Поддержка подчеркиваний в числовых литералах для разбиения числа на группы. RS-141066.
- Возможность подготовки базы данных к даунгрейду на версию 3.0. RS-164484.
Улучшено
- Возможность изменения опции DETERMINISTIC без указания тела функции. FB-7758.
- Форматирование новых типов данных в адаптере трейса.
- Библиотека zlib в Windows обновлена до версии 1.3.1. FB-7978.
- Комбинированный синхронно-асинхронный режим репликации. RS-60569.
- Рефакторинг парсера и лексера JSON. RS-162037.
- Ошибка pthread_mutex_destroy в деструкторе мьютекса логируется, а не выбрасывается как исключение, чтобы избежать падения сервера. RS-160711.
- Теперь при включенном параметре BugcheckAbort ошибка при вызове функции операционной системы приведет к созданию дампа сервера. RS-75048.
- Более подробные сообщения об ошибках JSON. RS-162032.
- Информация о временных зонах обновлена до версии 2024a. FB-8001.
- Поддержка синтаксиса "ALTER SEQUENCE ... START WITH". RS-85610.
- В поле MON$REPLICATION.MON$ACTIVE добавлен статус "-2" для ситуации "отключено после ошибки на реплике". RS-166176.
- Неправильная оценка кардинальности таблицы из-за пустых страниц данных. FB-8030.
- Возможность указания формата затраченного времени в трейсе. RS-154857.
- При запросе информации тегами isc_info_allocation и isc_info_db_size_in_pages не сбрасывать страничный кэш, чтобы не замедлять работу Суперсервера с большим кэшем. RS-168539, RS-149475.
- Лучший выбор инверсии когда условие OR включает прямое сравнение.
- Разрешение конфликта на реплике когда в таблице есть одновременно первичный и уникальный ключи. FB-8042.
- Возможность использовать фильтры для дочерних объектов в JSON. RS-151046.
- Плагин ExtAuth добавлен в стандартную редакцию. RS-170596.
- Оценка селективности для составных индексов при отсутствии статистики.
- Возможность задавать количество попыток подключения к серверам LDAP (параметр LDAPConnectionRetries). RS-87317.
- Таймаут ожидания rdbguard перед убийством процесса сервера увеличен до 30 минут. RS-170296.
- Прекращена сборка дистрибутива для Windows x86. RS-172759.
- Возможность задавать в политике минимальное количество специальных символов в пароле. RS-171431.
- Возможность активировать / деактивировать системные индексы. RS-152832.
- Форматированное преобразование строки в дату приближено к стандарту SQL. FB-7881.
- В имена временных файлов сервера добавлены идентификаторы подключения и запроса (если они доступны). RS-167309.
- Возможность отменять операцию сервера, которая вызывала ошибку записи трейса. RS-171428.
- Плагин политик теперь задается параметром конфигурации PolicyPlugin. RS-165260.
Исправлено
- Отсутствие сообщения об ошибке при нехватке привилегии USE_GSTAT_UTILITY. RS-160510.
- Обработка символов табуляции и конца строки в JSON.
- Неправильная проверка режима работы сервера. RS-143025.
- Отображение системных функций в выводе SHOW FUNC утилиты isql. FB-7962.
- Ошибка "adjusting an invalid decompression length from \<N> to \<M>" при восстановлении широкой таблицы. FB-7974.
- Использование первичного ключа для плана с сортировкой даже при наличии подходящего индекса с меньшим количеством полей. FB-7921.
- Проблемы с инвариантами в представлениях. FB-7863.
- Ложная ошибка при проверке коротких неупакованных записей. FB-7976.
- Остановка репликации при включенном параметре disable_on_error. RS-146772.
- Падение repldiff при запуске с аргументом -Z в качестве значения других аргументов (-U, -P). RS-161252.
- Падение mint при слишком длинном алгоритме подписи. RS-157795.
- Установка флага о собранном мусоре на страницах данных пользовательских таблиц во время рестора. RS-98299, RS-160860.
- Обработка NULL-значений в RDB$RETURN_ARGUMENT и RDB$ARGUMENT_POSITION. FB-7869.
- Неожиданные результаты после создания частичного индекса. FB-7995.
- Обработка последовательностей в JSON-методе keyvalue(). RS-161833.
- Зависание при ошибке во время подключения потока sweep к базе данных. FB-7917.
- Двойной запуск потока планировщика при старте сервера в Windows без опции -a. RS-28760.
- Вывод значений \<NULL> строчными буквами в таблице MON$STATEMENT_PARAMETERS. RS-141109.
- Неожиданные результаты при использовании CASE WHEN с RIGHT JOIN. FB-7993.
- Отрицательное значение в поле MON$USED_SIZE. RS-99537.
- Переименованы поля в таблице MON$TEMP_SPACES. RS-99537.
- Падение gbak при ошибке чтения во время рестора. FB-7996.
- Корректное освобождение страниц при ошибке проверки значения по частичному индексу. FB-7998.
- Неправильное перекодирование символов при репликации текстовых блобов, если их кодировка отличается от кодировки подключения. FB-7969.
- ALTER SESSION RESET не сбрасывало привилегии роли. RS-87064.
- Падение gbak при использовании имени пользователя "-ser". RS-157622.
- gbak версии 4 не мог создать бекап базы данных с ODS < 13. FB-8003.
- Зависание при отправке в shutdown базы данных с триггерами на дисконнект, использующими MON$-таблицы. FB-7979.
- Отсутствие поддержи типа Int128 в UDR. FB-8006.
- Ошибка при работе с int128 в UDR. FB-8011.
- Падение gstat в многопоточном режиме в Windows из-за неправильного использования страничного кэша. RS-162132.
- Некорректная выдача ошибки при неправильных значениях параметров MaxParallelWorkers и ParallelWorkers. RS-163315.
- При получении номера страницы данных из слота PP не проверялось, что он является активным. RS-92275.
- Падение json_table при использовании в представлении. RS-94106.
- Падение сервера из-за некорректного выделения памяти под переменные потока. FB-8026.
- Иногда gbak возвращал неправильную статистику. FB-8027.
- Перевод реплики в статус "disconnected" и запрет на выполнение транзакций при отключенной опции "disable_on_error". RS-166174.
- Доступ к базе данных в режиме shutdown (single или multi) разрешен только для SYSDBA и роли RDB$SYSADMIN. RS-165161.
- Освобождение памяти, выделенной isql под список команд. FB-8016.
- Сообщение для ошибок таймаута стало подробнее, как было в предыдущих версиях. RS-159431.
- Падение при открытии поврежденной базы данных (последняя страница TIP отсутствует в RDB$PAGES). FB-8039.
- Неожиданные результаты при сравнении целого со строкой, содержащей число вне диапазона bigint. FB-7997.
- Неправильный результат сравнения строки с индексированным полем numeric(x,y) при x > 18 и y != 0. FB-8033.
- Багчек 183 (wrong record length) на реплике после нарушения уникальности ключа при вставке. FB-8040.
- Некорректная обработка синтаксиса "SQL SECURITY" в ISQL -extract. RS-141432.
- Ошибка "Too many temporary blobs" в BLOB_APPEND при выборе из хранимой процедуры. FB-8056.
- При нахождении некорректных кодов BLR во время рестора выдавать не ошибку, а предупреждение. RS-155569.
- Невозможность использования BLOB больше 32К в качестве аргумента функции RDB$TRACE_MSG. RS-169696.
- Падение при парсинге события "MESSAGE" в адаптере двоичного трейса. RS-169746.
- Работа утилиты rdbreplmgr с журналами, использующими новую версию протокола репликации. RS-73966.
- Падение с сигналом SIGBUS при отсутствии места в разделе со служебными файлами, отображаемыми в память. FB-8048.
- Заполнение поля EVENT_USER для события MESSAGE в адаптере двоичного трейса. RS-170289.
- DDL-запросы при репликации неправильно устанавливали значение RDB$GRANTOR. FB-8058.
- Ошибки при присваивании значений строковым переменным или параметрам в хранимых процедурах с подпрограммами. FB-8063.
- Ошибка "database file appears corrupted" после восстановления из бекапа. FB-7942.
- Изменение домена с зависимыми от него просмотрами. RS-170899.
- Неправильная работа "SIMILAR TO" с шаблонами, использующими "|", "*", "?" или "{0,N}". FB-8078.
- Возможное падение при выполнении триггеров, которые изменяются из другого подключения. FB-8079.
- Падение при записи в служебный лог трейса. FB-8083.
- Утечка памяти при выполнении множества разных запросов с параметром StatementTimeout > 0. FB-8085.
- Ошибка при передаче блобов размером больше 32к в JSON функции. RS-167147.
- Падение при подключении к базе данных при малом объеме свободной оперативной памяти. FB-8089.
- Неправильное определение последовательности страниц данных, которое могло приводить к багчеку. RS-173057.