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

22 ноября 2020 г. 20:06

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

Исправлено:

  1. Исправлена ошибка шифрования трафика при аутентификации по сертификату с указанием пользователя
  2. Исправлен парсинг булевских значений в replication.conf
  3. Исправлена ошибка, при которой сервер использовал только первую секцию "replica" в конфигурации
  4. Исправлена ошибка репликации "no current record for fetch operation"
  5. Исправлено падение сервера, если в опции replication.conf нет подсекций
  6. Репликация теперь проверяет inode файла базы данных при чтении replication.conf
  7. Исправлены падения сервера при репликации
  8. Исправлена ошибка бинарного адаптера trace, при которой поле EVENT_USER заполнялось "" вместо имени пользователя
  9. Исправлено падение hashgen
  10. Исправлена очистка мертвых транзакций и откат соответствующих им на слейве
  11. Исправлено некорректное поведение gstat при указании таблицы в опции -t несколько раз
  12. Исправлена потеря архивов трейса под нагрузкой
  13. Исправлена работа внешних триггеров с вычисляемыми полями
  14. Исправлена CORE-6110: 64-битные идентификаторы транзакций некорректно хранились в статус-векторе
  15. Исправлена работа плагина cluster_auth
  16. Исправлена ошибка повреждения архивов трейса

Улучшения:

  1. Ускорено подключение к БД при большом количестве подключений в Linux
  2. Ускорено выполнение запросов с использованием current_timestamp
  3. Ускорена подготовка запросов. Теперь количество читаемых pointer page лимитируется
  4. Теперь alter user ... grant admin role можно грантовать на несуществующего (LDAP) пользователя
  5. Теперь можно назначать роли пользователю из групп AD при GSS-аутентификации
  6. Теперь LDAP читает ФИО пользователя из "CN" аттрибута. Они доступны через контекстные переменные "USER_XXX_NAME" в пространстве имен "AUTHDATA"
  7. Добавлена возможность указать несколько LDAP серверов разделяя их ";"
  8. Добавлен новый параметр "LDAPEncryptionMinVersion" для возможности указания версии TLS/SSL протокола
  9. Улучшена диагностика LDAP аутентификации
  10. В fblogmgr добавлена опция -[G]uid для работы без подключения к базе данных
  11. На реплике разрешены некоторые DDL операции, например alter database begin/end backup
  12. Добавлена опция log_warnings в конфиг репликации для логирования конфликтных ситуаций
  13. Улучшено логирование репликации для повторяющихся записей:
    • Первая ошибка всегда добавляется в replication.log
    • Повторные добавляются, если количество равно 10, 50, 100 или кратно 500
    • Если ошибка, следующая за повторными, отличается, то указывается количество предыдущих повторных
  14. Добавлены опции -Guid и -Log для fbreplmgr. Guid позволяет указать GUID мастера вручную. Log позволяет выводить детальную информацию в лог
  15. Улучшена диагностика ошибок в логе репликации
  16. Добавлен новый плагин шифрования трафика, использующий функции Crypto API
  17. Добавлена возможность шифрования трафика мультифакторной аутентификации
  18. Портирован плагин ExtAuth
  19. Добавлена возможность сменить collation домена
  20. В конфигурацию добавлена опция TcpUserTimeout для указания таймаута соединения. По-умолчанию 17 минут
  21. Теперь hashgen возвращает код 1, если при генерации или проверке происходит ошибка
  22. В gfix добавлена опция -guid для генерации нового GUID базы данных
  23. В gstat добавлена опция -b, отображающая статистику по файловым блобам
  24. fbjava обновлена до 1.1.9:
    • Исправлено падение, при освобождении блобов
    • Исправлено NPE и заменено на FileNotFoundException, если файл в classpath не существует
    • Исправления утечек памяти
  25. fbjava_lucene обновлена до 2.0.11:
    • Библиотека tika обновлена до 1.22
    • Файл fts_permissions.sql расширен. Добавлен компактный синтаксис с bulk insert

Портировано из Firebird:

  1. Fixed bug CORE-6447 : SET SQLDA_DISPLAY ON: different text of message for parameterized expression starting from second run
  2. This should fix CORE-6440: expression indices with COALESCE cannot be matched
  3. Postfix for CORE-6412, fixed non-ascii users support
  4. Fixed bug CORE-6437 : gfix cannot set big value for buffers While the bug is present in code, affected function is not called when gfix set buffers, thus the bug left invisible for a long time
  5. Fixed bug caused by one of my recent commits
  6. Always check for correct data extracted from info block instead fb_assert
  7. Fixed CORE-6433: Several firebird servers crash
  8. Avoid negative offsets in case of malformed network packet
  9. Backported CORE-6432: Possible buffer overflow in client library in Attachment::getInfo() call
  10. Fixed CORE-6408 - RETURNING clause in MERGE cannot reference column in aliased target table using qualified reference (alias.column) if DELETE action present
  11. Backported CORE-6412: Firebird is freezing when trying to manage users via triggers
  12. CORE-6424 - Be sure to fail the build process if the employee database cannot be copied to the output directory for packaging
  13. Fixed arm-32 (Raspberry Pi) build
  14. Fixed android build
  15. Be sure to include contents of plugins/udr in kits
  16. Fixed ARM64 build
  17. Make robust file IDs optional (for the sake of cross-release compatibility)
  18. Postfix for CORE-6358 to avoid error in restore
  19. Backported CORE-6413: Remove PIDFile/-pidfile directive/option from firebird Super(Server/Classic) systemd unit
  20. Fixing broken alpine build. (#283)
  21. Cleanup overcomplicated isinf
  22. Better assertions, code simplification and minor optimization
  23. Postfix for CORE-6351 : Computed field could be wrongly evaluated as NULL Make sure statement->procedure (function) always points to procedure (function) the statement belongs to. Ensure statement's memory pool is deleted after the statement in case of failure during BLR parsing
  24. Fixed CORE-6411: crash while creating a table with many (>5460) fields
  25. This should fix the regression with long file paths
  26. Fallback to other identification methods only if the current call is unavailable, otherwise raise an error
  27. This should fix deadlock when attachment is initialized or released while database shutdown is in progress dbb_sync should be acquired after any attachment mutex, not before
  28. Backported fix for CORE-6396: Unknown tag (0) in isc_svc_query() results
  29. Backported CORE-6392: Space in database path prevent working gbak -se ... -b "path to/database" backup
  30. Fixed bug CORE-6351 : Computed field could be wrongly evaluated as NULL
  31. Update zlib to 1.2.11
  32. Backported CORE-6388: DEV_BUILD client asserts when closing event thread
  33. Fixed CORE-6370 - Memory leak at server, when client select computed field, which used COALESCE or CAST
  34. Backported CORE-6371: Avoid server crash on shutdown in case of wrong reference counting in UDR
  35. Backported CORE-6367: Segfault when receiving malformed packet from network
  36. Fixed CORE-6362: Better diagnostic when 'Missing security context'
  37. Fixed bug CORE-6364 : Wrong reference counting in UDR trigger sample
  38. This should fix bug CORE-6347 : New connections to database server sometimes stall, when there is existing connection to database
  39. Fixed CORE-6358 - Adding NOT NULL column with DEFAULT value may cause default values to update when selecting or have the wrong charset
  40. Fixed regression caused by previous commit - segfault when unwinding half-done attachment
  41. Backported fix for CORE-6360: Engine may hang due to races when starting crypt thread and simultaneous shutdown
  42. Backported fix for CORE-6339: Detach server from security database when missing plugin data structures cause an error
  43. Backported fix for CORE-6147: script with extracted metadata may fail on global mapping
  44. Some (limited) protection from exceptions raised from inside JRD_shutdown_database
  45. Additional fix for bug CORE-6253 : Crash caused by the locked fb_lock file Retry attempts to initialize shared memory when truncation of shmem file was failed with ERROR_USER_MAPPED_FILE The case is when last process that holds shared memory and its initialization event was killed (or crashed) and didn't released OS objects in correct order (event, file, memory mappings) I.e. new process successfully creates event, correctly consider itself as initializator, but failed to truncate file as it is still in use by old instance of memory mappings in killed\crashed process This prevents bugcheck in LM and abort() as consequence
  46. Additional fix for bug CORE-6253 : Crash caused by the locked fb_lock file Makes fb_lock_print in interactive mode to detect moment when there is no more attachments used same lock table In this case fb_lock_print stops own iterations and releases shared memory to not prevent future database attachments
  47. Backported CORE-6348: Wire compression causes freezes
  48. This should fix bug CORE-6346 : New connection to the server hangs
  49. Fixed CORE-6340 - Alternate quoting does not work on some particular cases
  50. Backported CORE-6345: Server crashes on overflow of division result
  51. This should fix CORE-6343
  52. Backported CORE-6329: GBAK with service_mgr and WinSSPI authentication for Windows SYSTEM user producing error in clumplet API
  53. Fixed one more case of bug CORE-5087 : Database shutdown can cause server crash if multiple attachments run EXECUTE STATEMENT
  54. Backported CORE-6334: Missing relocation support
  55. Fixed random conversion errors (FBT test "functional.gtcs.cast-datatypes" failed sometimes)
  56. Fixed CORE-6331 - Memory leak with some statements and expressions
  57. Support for blr_marks BLR code from FB4. It allows to ignore blr_marks in case of its presence in downgraded database
  58. This should fix unregistered bug : connection timeout doesn't work for INET if remote side is not answered on op_connect packet
  59. Backport fix for bug CORE-6296 : Many connections results in poor performance
  60. Fixed bug CORE-6319 : NBACKUP locks db file on error
  61. Fixed assert in Statement::freeClientData()
  62. This should fix CORE-6323: File-system ID may be duplicated among databases located on different volumes
  63. Make the reschedule accounting simpler and sweep more responsive under load
  64. CORE-6317 - Server is crashing on long GRANT statement
  65. Fixed CORE-6317 - Server is crashing on long GRANT statement
  66. Backport CORE-6310: Varchar length limit is not enforced when assigning string with trailing spaces in MBCS
  67. Bacport CORE-6314: Assigning RDB$DB_KEY to MBCS CHAR/VARCHAR does not enforce the target limit
  68. Backported CORE-6309: fbsvcmgr can not decode information buffer returned by gfix list limbo service
  69. Fixed CORE-6290 - Hex number used at end of statement (for exame with CREATE DOMAIN ... DEFAULT) may read invalid memory and produce wrong values or exceptions
  70. Improved code to ensure better compatibility with older engines. Checked restore on 2.5 (clean) and 2.1 (with recoverable errors, database in single maintenance mode)
  71. Improved code to ensure better compatibility with engine12. Improvements for older engines are also included though full compatibility is still missing
  72. Fixed CORE-6280 - MERGE statement loses parameters in WHEN (NOT) MATCHED clause that will never be matched, crashes server in some situations
  73. Backported CORE-6283: isNullable() in message metadata, returned by metadata builder, does not match with datatype set by setType() in metadata
  74. Backported fix for unregistered bug: error handling in main server loop is broken
  75. Backported fix for CORE-5364: gfix -online normal (being issued in window #1) does not produce error when there is sysdba attachment in window #2
  76. Fixed CORE-6230: Unable to connect with database if security.db reference is removed from databases.conf file
  77. Improvement CORE-6274 - Increase parse speed of long queries
  78. Backported CORE-6264: gbak with PIPE to stdout: invalid content if user '-se :service_mgr' command switch
  79. Disable simultaneous access to read-only database from multiple processes in SS mode
  80. Make firebird engine use classic mode during boot build
  81. Backported CORE-6208: Grant lost in security.db after backup/restore cycle
  82. Correction of RefPtr::assign
  83. Backported CORE-2251: gbak doesn't return error code
  84. Backported CORE-6227: isc_info_svc_user_dbpath always returns alias of main security database
  85. Fixed bug CORE-6231 : access violation on shutdown of xnet connection to local database when events have been registered
  86. Backport fix for CORE-5862 - Varchar computed column without explicit type does not populate RDB$CHARACTER_LENGTH
  87. Fixed CORE-6116 - The Metadata script extracted using ISQL of a database restored from a Firebird 2.5.9 Backup is invalid/incorrect when table has COMPUTED BY field
  88. Fix misleading error message about CORE-5802
  89. Backported CORE-6237: Performance issue - security database connections cache in SRP plugin
  90. One more fix for possible hangs inside the monotoring shmem code
  91. This should fix CORE-6216: request size limit exceeded when selecting from a table with large number of indicies
  92. This should fix empty routine names reported during DROP operations
  93. Fixed CORE-6189: Building bundled libtommath fails
  94. Backport new feature CORE-4933 : Add better transaction control to isql
  95. Fixed CORE-6250 - Signature mismatch when creating package body on identical packaged procedure header
  96. Fixed bug CORE-6253 : Crash via locked fb_lock file
  97. Avoid calling MOV_compare() for NULL values
  98. Fixed bug CORE-6224 : [AV] Re-destruction of the rem_port object
  99. Fixed CORE-6260: Warnings not always displayed in ISQL
  100. Fixed CORE-6233 - Wrong dependencies of stored function on view after backup and restore
  101. Backported CORE-6265: mapping rules destroyed by backup / restore
  102. Fixed CORE-6266
  103. Fixed CORE-6246 - Problem with too many number of columns in resultset
  104. Fixed CORE-6269: Firebird ignores KeepAlive settings
  105. Correct my old fix for CORE-5470 - use converters in correct order