Ред База Данных 3.0 - v3.0.4.169 RC

30 декабря 2019 г. 16:06

Список изменений

Исправлено:

  1. Невозможно изменить атрибуты пользователя не изменяя пароль
  2. Теперь создается дамп памяти при критических ошибках менеджера блокировок при установленном BugcheckAbort в firebird.conf
  3. В случае прямого ввода-вывода страницы с выравниванием по 4K из-за требований некоторых устройств
  4. Исправлена CORE-6198: некорректная проверка ошибок вызовов pread и pwrite
  5. Исправлен возможный бесконечный цикл, если BLR игнорируется сервером в некоторых случаях
  6. Исправлена регистрация Srp плагинов в Windows
  7. Парсинг 12-значных адресов памяти в hashgen
  8. Проверка процесса на существование в hashgen
  9. Проверка на открытие исполнимой памяти в hashgen
  10. Исправлено обновление инсталляции, при установке в нестандартный каталог
  11. fbtrace_* и jvm.args добавлены в скрипт обновления

Improvements:

  1. Парсинг строк с двойными кавычками в CSV-адаптере
  2. Портирован параметр "LoginFailureDelay" из 2.6
  3. Возможность запрета вычисления полей для внешних триггеров. Теперь внешний триггер может может указать движку, какие поля не используются и не должны вычисляться. Корректно реализованная функция getDoNotEvaluateField должна возвращать true, если поле не должно быть вычислено, индексы полей начинаются с 0. Индекс -1 зарезервирован для всех вычисляемых полей.
  4. Вывод ошибок в stderr в hashgen
  5. Возможность продолжения восстановления бэкапа при ошибках BLR процедур, функций и триггеров (ключ -ig в gbak)

fbjava обновлен до 1.1.6. Изменения с 1.1.4:

  1. Игнорирование возвращаемого типа для java-функций используемых в качестве триггеров
  2. Поддержка JRE 9+
  3. Поддержка ExternalTrigger::getDoNotEvaluateField. Добавлены аннотации org.firebirdsql.fbjava.annotations.DoNotEvaluateComputedFields, org.firebirdsql.fbjava.annotations.DoNotEvaluateField и org.firebirdsql.fbjava.annotations.EvaluateField для запрета вычисления полей для триггера.

fbjava_lucene обновлен до 2.0.7. Изменения с 2.0.6:

  1. Тип функции indexFieldChange для внешнего триггера возвращен на short для корректного рестора бэкапов 2.6

Ported from Firebird:

  1. Prevent child process hung if it writes too much data to the pipe and overflow the pipe buffer. Preserve child eol's when print child stderr data. Try to distinguish case when child's stdout closed abnormally.
  2. Sub-task CORE-4463: Windows implementation for CORE-4462 (Make it possible to restore compressed .nbk files without explicitly decompressing them)
  3. Fixed CORE-6197: Memory leak in INET_connect().
  4. MSVC declare uintXXX_t types at stdint.h
  5. Fixed CORE-5902: Add Firebird Event fails with error. "While isc_que_events - Failed to establish a secondary connection for event processing".
  6. Fixed CORE-6182: ExtConnPoolLifeTime acts as countdown for activity in MOST RECENT database (of several) rather then separate for each of used databases
  7. Let logAndDie() call abort() on all platforms. It prevent hung when process exits (instead of aborts) and tries to release resources.
  8. Backport addition for CORE-4463: Avoid handle leak after killing hung child process. Print child's stderr after child is gone to not loose very last childs output.
  9. Backported CORE-6203: "Error reading data from the connection" is raised sometimes when using non-default authentication plugin
  10. Better name for print_child_error() method