mdbx: дополнение ChangeLog.

This commit is contained in:
Леонид Юрьев (Leonid Yuriev) 2025-03-03 20:16:51 +03:00
parent 05e7a94619
commit 4fd165f8d2

View File

@ -15,6 +15,7 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx
- [Alex Sharov](https://github.com/AskAlexSharov) за сообщение об ошибках и тестирование.
- [Виктору Логунову](https://t.me/vl_username) за сообщение об опечатки в имени переменной в Conan-рецепте.
- [Илье Михееву](https://t.me/IlyaMkhv) за сообщение о лишнем/ненужном предупреждении несоответствия файла БД новому размеру.
- [maxc0d3r](https://gitflic.ru/user/maxc0d3r) for bug reporting and testing.
Новое:
@ -43,16 +44,37 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx
Ошибка присутствует в выпусках v0.13.1, v0.13.2, v0.13.3 и оставалась незамеченной из-за специфических условий и низкой вероятности проявления.
Более подробная информация в описании коммита `cb8eec6d11cdab4f7d3cf87913e8009149dcf60b`.
- Устранение лишнего/ненужного предупреждения в сценарии изменения размера БД посредством вызова `mdbx_env_set_geometry()` до её открытия.
- Устранено лишнее/ненужное предупреждение в сценарии изменения размера БД посредством вызова `mdbx_env_set_geometry()` до её открытия.
API предусматривает возможность запросить изменение геометрии/размера БД перед её открытием, чтобы избежать как лишних накладных расходов,
так и потенциальных ошибок из-за нехватки адресного пространства. В этом сценарии ранее могло выдаваться лишнее/ненужное предупреждение
о несоответствии файла БД новому размеру. Теперь этот недостаток исправлен.
- Восстановлена доступность дескрипторов таблиц, открытых в дочерней транзакции, после её фиксации, в случае отсутствия изменений в данных.
Проблема не была замечена ранее из-за специфического сценария проявления.
Ошибка присутствует в версиях 0.13.x и последующих, начиная с коммита `e6af7d7c53428ca2892bcbf7eec1c2acee06fd44` от 2023-11-05.
- Устранён сбой аудита таблиц при инвалидации дескрипторов таблиц вследствие отмены вложенной транзакции.
Проблема не была замечена ранее из-за специфического сценария проявления.
Ошибка присутствует в версиях 0.13.x и последующих, начиная с коммита `e6af7d7c53428ca2892bcbf7eec1c2acee06fd44` от 2023-11-05.
- Устранена причина потенциальных сбоев и/и деградации производительности в сценарии закрытия курсора до завершения вложенной транзакции,
с последующим изменением данных той-же таблицы в текущей вложенной транзакции, либо её дочерних транзакциях.
Проблема обнаружена при ручном анализе кода, сценарии воспроизведения/проявления проблемы пока не известны.
Ошибка присутствует в версиях 0.13.x и последующих, начиная с коммита `3de3d425a128a3c6f7866503f5f93b80c09dbe41` от 2024-05-19.
- Устранена причина ложных ошибок при работе `mdbx_chk` с высоким уровнем логирования.
Проблема возникала из-за неверной трактовки `MDBX_NOTFOUND` при штатном окончании итерируемых данных.
- Устранена причина попыток рекурсивного захвата мьютекса при работе `mdbx_chk -w` в сборах с поддержкой Valring/ASAN и под управлением этих инструментов.
Прочие доработки:
- Существенный рефакторинг с реструктуризацией кода, переименованием внутренних структур, их полей и внутренних функций.
- Доработка использования LTO в CMake-сценариях: использование `-flto=auto` для GCC >= 11.4, расслабление условий для включения LTO для CLANG на Linux, расширение поиска `LLVMgold.so` в относительных lib-директориях.
- Доработка использования LTO в CMake-сценариях: использование `-flto=auto` для GCC >= 11.4,
расслабление условий для включения LTO для CLANG на Linux, расширение поиска `LLVMgold.so` в относительных lib-директориях.
- Добавлены дополнительные проверки сигнатур курсоров при итерации связанных списков.
--------------------------------------------------------------------------------