v0.3.20 fpta: выпуск v0.3.20 Стабильная версия с исправлением замеченных ошибок и недочетов. Исправления и доработки в libfpta: ================================== - Устранение предупреждений новых версий apple-clang. - Удаление использования VLA. - Устранение предупреждений/ошибок из-за `NaN` при использовании `-Ofast`/`-Ofast-math` с новыми компиляторами - Прерывание тестов Threaded.AsyncSchemaChange и Threaded.RacingOverflow при ошибках. - Доработка поддержки Valgrind/memcheck и обновление имен функций в списке подавлений/исключений. - Упрощение ограничений на версии компиляторов для LTO. - Добавление упущенного `include <iomanip>`. - Корректировка макросов `__hot`/`__cold`. Исправления и доработки в libmdbx: ================================== - Исправление для ОС Windows нарезки `FILE_SEGMENT_ELEMENT`. Похоже что был потерян коммит входе работы над оптимизацией пути записи на диск в ОС Windows. В текущем понимании, вероятность проявления ошибки достаточно низкая, так как выявлена она была синтетическими тестами в ходе других доработок, а соответствующих сообщений/жалоб не поступало. К повреждению БД ошибка не приводила, так как сбой происходил до записи данных с возвратом `ERROR_INVALID_PARAMETER` из системного вызова, т.е. либо ошибка не проявлялась, либо транзакция не фиксировалась. - Устранение вероятности `SIGSEGV` при включении логирования уровня `MDBX_LOG_TRACE` в отладочных сборках. - Исправление генерации исключения `key_exists` в C++ API. - Исправление обработки курсоров, открытых в родительских транзакциях и закрытых до завершения вложенных транзакций. В описанной ситуации закрытые курсоры "воскрешались", что приводило к утечке памяти выделенной под такие курсоры. - Костыль для MSVC ARM/ARM64 для предотвращения ICE (Internal Compiler Error). - Устранение `MDBX_EINVAL` для случая вызова `mdbx_env_remove(".")`. - Исправление инверсии bool-результата `env::remove()`в C++ API. Более полная информация в [списке изменений libmdbx](https://gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md&branch=stable). --- 53 files changed, 1436 insertions(+), 1026 deletions(-) Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
Стабильная версия с исправлением замеченных ошибок и недочетов.
53 files changed, 1436 insertions(+), 1026 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
Исправления и доработки в libfpta:
-
Устранение предупреждений новых версий apple-clang.
-
Удаление использования VLA.
-
Устранение предупреждений/ошибок из-за
NaN
при использовании-Ofast
/-Ofast-math
с новыми компиляторами -
Прерывание тестов Threaded.AsyncSchemaChange и Threaded.RacingOverflow при ошибках.
-
Доработка поддержки Valgrind/memcheck и обновление имен функций в списке подавлений/исключений.
-
Упрощение ограничений на версии компиляторов для LTO.
-
Добавление упущенного
include <iomanip>
. -
Корректировка макросов
__hot
/__cold
.
Исправления и доработки в libmdbx:
-
Исправление для ОС Windows нарезки
FILE_SEGMENT_ELEMENT
. Похоже что был потерян коммит входе работы над оптимизацией пути записи на диск в ОС Windows. В текущем понимании, вероятность проявления ошибки достаточно низкая, так как выявлена она была синтетическими тестами в ходе других доработок, а соответствующих сообщений/жалоб не поступало. К повреждению БД ошибка не приводила, так как сбой происходил до записи данных с возвратомERROR_INVALID_PARAMETER
из системного вызова, т.е. либо ошибка не проявлялась, либо транзакция не фиксировалась. -
Устранение вероятности
SIGSEGV
при включении логирования уровняMDBX_LOG_TRACE
в отладочных сборках. -
Исправление генерации исключения
key_exists
в C++ API. -
Исправление обработки курсоров, открытых в родительских транзакциях и закрытых до завершения вложенных транзакций. В описанной ситуации закрытые курсоры "воскрешались", что приводило к утечке памяти выделенной под такие курсоры.
-
Костыль для MSVC ARM/ARM64 для предотвращения ICE (Internal Compiler Error).
-
Устранение
MDBX_EINVAL
для случая вызоваmdbx_env_remove(".")
. -
Исправление инверсии bool-результата
env::remove()
в C++ API.
Более полная информация в списке изменений libmdbx.