Ред База Данных 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.