mirror of
https://github.com/isar/libmdbx.git
synced 2024-12-28 02:48:49 +08:00
mdbx: дополнение ChangeLog.
This commit is contained in:
parent
ca8e9fe7b1
commit
10a93f4b9f
32
ChangeLog.md
32
ChangeLog.md
@ -11,7 +11,7 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
||||
|
||||
Исправления:
|
||||
|
||||
- Доработка `mdbx_close_dbi()` для возврата ошибки `MDBX_DANGLING_DBI`
|
||||
- Функция `mdbx_close_dbi()` доработана для возврата ошибки `MDBX_DANGLING_DBI`
|
||||
при попытке закрыть dbi-дескриптор таблицы, созданной и/или измененной в
|
||||
ещё выполняющейся транзакции. Такое преждевременное закрытие дескриптора
|
||||
является неверным использованием API и нарушением контракта/предусловий
|
||||
@ -20,22 +20,31 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
||||
приводить к созданию таблицы с пустым именем, утечки страниц БД и/или
|
||||
нарушению структуры b-tree (неверной ссылкой на корень таблицы).
|
||||
|
||||
- Исправление открытия таблицы с пустым/нулевым именем и устранение
|
||||
`SIGSEGV` при закрытии её дескриптора.
|
||||
- Исправлено открытие таблицы с пустым/нулевым именем, в том числе устранена
|
||||
возможность `SIGSEGV` при закрытии её дескриптора.
|
||||
|
||||
- Добавлены упущенные inline-реализации `mdbx::cursor::upper_bound()` и `mdbx::cursor::upper_bound_multivalue()`.
|
||||
- Корректировка описания С++ API для использования термина "таблица" вместо "sub-database".
|
||||
- Исправление условия внутри `assert()` в пути обработки `MDBX_GET/NEXT/PREV_MULTIPLE`.
|
||||
- Допущение 4-байтового выравнивания данных `MDBX_MULTIPLE` для 32-битных сборок.
|
||||
- Продолжена корректировка описания С++ API для использования термина "таблица" вместо "sub-database".
|
||||
- Исправлено проверяемое условие внутри `assert()` в пути обработки `MDBX_GET/NEXT/PREV_MULTIPLE`.
|
||||
- На 32-битных платформах разрешено использовть 4-байтное выравнивание при получении 64-битных значений посредством `MDBX_MULTIPLE`.
|
||||
- Добавлен костыль для устранения проблем из-за некорректной обработки `[[gnu::pure]]` в Apple Clang.
|
||||
|
||||
Новое:
|
||||
|
||||
- Добавление `mdbx::cursor::get_multiple_samelength()` и переименование `mdbx::txn::put_multiple_samelength()`.
|
||||
- Возвращение ключа при выполнении операции `MDBX_GET_MULTIPLE` для единообразия C++ API.
|
||||
- Смена базового типа на `intptr_t` для размерных констант `mdbx::env::geometry`.
|
||||
- Включение стандарта `C23` в CMake-скриптах сборки.
|
||||
- Добавление T-макросов для парных `char`/`wchar_t` функций.
|
||||
- Ускорено обновление GC при возврате/помещении списков страниц в
|
||||
сложных сценариях. Был доработан и активирован ранее отключенный
|
||||
экспериментальный режим корректирующей обратной связи. Этим
|
||||
принципиально улучшилась сходимость (сократилось количество повторных
|
||||
попыток), а также устранен дефект приводящий к "зацикливанию" при
|
||||
фиксации транзакций (с возвратом ошибки `MDBX_PROBLEM`) в редких
|
||||
специфических условиях.
|
||||
Подробности см. в описании коммита [`6c56ed97bbd8ca46abac61886a113ba31e5f1291`](https://gitflic.ru/project/erthink/libmdbx/commit/6c56ed97bbd8ca46abac61886a113ba31e5f1291).
|
||||
|
||||
- Добавлен метод `mdbx::cursor::get_multiple_samelength()` и переименован `mdbx::txn::put_multiple_samelength()`.
|
||||
- Для единообразия C++ API при выполнении операции `MDBX_GET_MULTIPLE` теперь также возвращается значение самого ключа.
|
||||
- Для размерных констант `mdbx::env::geometry` базовый тип изменен с беззнакового `size_t` на знаковый `intptr_t`.
|
||||
- Включен стандарт `C23` в CMake-скриптах сборки.
|
||||
- Добавлены T-макросы для парных `char`/`wchar_t` функций.
|
||||
|
||||
Мелочи:
|
||||
|
||||
@ -52,6 +61,7 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
||||
- Корректировка API-макросов для Doxygen.
|
||||
- Уточнение описания `mdbx_dbi_close()` для случая хендлов измененных таблиц.
|
||||
- Добавление теста `extra/early_close_dbi`.
|
||||
- Доработка скрипта стохастического теста и его переименование в `stochastic.sh`.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user