mirror of
https://github.com/isar/libmdbx.git
synced 2024-10-29 23:19:20 +08:00
mdbx: дополнение ChangeLog.
This commit is contained in:
parent
3d6e196422
commit
b8f9b8659c
19
ChangeLog.md
19
ChangeLog.md
@ -11,14 +11,30 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
|||||||
|
|
||||||
Исправления:
|
Исправления:
|
||||||
|
|
||||||
|
- Доработка `mdbx_close_dbi()` для возврата ошибки `MDBX_DANGLING_DBI`
|
||||||
|
при попытке закрыть dbi-дескриптор таблицы, созданной и/или измененной в
|
||||||
|
ещё выполняющейся транзакции. Такое преждевременное закрытие дескриптора
|
||||||
|
является неверным использованием API и нарушением контракта/предусловий
|
||||||
|
сформулированных в описании `mdbx_close_dbi()`. Однако, вместо возврата
|
||||||
|
ошибки выполнялось некорректное закрытие дескриптора, что могло
|
||||||
|
приводить к созданию таблицы с пустым именем, утечки страниц БД и/или
|
||||||
|
нарушению структуры b-tree (неверной ссылкой на корень таблицы).
|
||||||
|
|
||||||
|
- Исправление открытия таблицы с пустым/нулевым именем и устранение
|
||||||
|
`SIGSEGV` при закрытии её дескриптора.
|
||||||
|
|
||||||
- Добавлены упущенные inline-реализации `mdbx::cursor::upper_bound()` и `mdbx::cursor::upper_bound_multivalue()`.
|
- Добавлены упущенные inline-реализации `mdbx::cursor::upper_bound()` и `mdbx::cursor::upper_bound_multivalue()`.
|
||||||
- Корректировка описания С++ API для использования термина "таблица" вместо "sub-database".
|
- Корректировка описания С++ API для использования термина "таблица" вместо "sub-database".
|
||||||
- Исправление условия внутри `assert()` в пути обработки `MDBX_GET/NEXT/PREV_MULTIPLE`.
|
- Исправление условия внутри `assert()` в пути обработки `MDBX_GET/NEXT/PREV_MULTIPLE`.
|
||||||
- Допущение 4-байтового выравнивания данных `MDBX_MULTIPLE` для 32-битных сборок.
|
- Допущение 4-байтового выравнивания данных `MDBX_MULTIPLE` для 32-битных сборок.
|
||||||
|
- Добавлен костыль для устранения проблем из-за некорректной обработки `[[gnu::pure]]` в Apple Clang.
|
||||||
|
|
||||||
Новое:
|
Новое:
|
||||||
- Добавление `mdbx::cursor::get_multiple_samelength()` и переименование `mdbx::txn::put_multiple_samelength()`.
|
- Добавление `mdbx::cursor::get_multiple_samelength()` и переименование `mdbx::txn::put_multiple_samelength()`.
|
||||||
- Возвращение ключа при выполнении операции `MDBX_GET_MULTIPLE` для единообразия C++ API.
|
- Возвращение ключа при выполнении операции `MDBX_GET_MULTIPLE` для единообразия C++ API.
|
||||||
|
- Смена базового типа на `intptr_t` для размерных констант `mdbx::env::geometry`.
|
||||||
|
- Включение стандарта `C23` в CMake-скриптах сборки.
|
||||||
|
- Добавление T-макросов для парных `char`/`wchar_t` функций.
|
||||||
|
|
||||||
Мелочи:
|
Мелочи:
|
||||||
|
|
||||||
@ -32,6 +48,9 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
|||||||
- Доработка `osal_jitter()` для уменьшения задержек в тестах под Windows.
|
- Доработка `osal_jitter()` для уменьшения задержек в тестах под Windows.
|
||||||
- Исправление максимальной длины значений в тесте `extra/crunched-delete`.
|
- Исправление максимальной длины значений в тесте `extra/crunched-delete`.
|
||||||
- Добавление логирования С++ исключений в `extra/dupfix_multiple`.
|
- Добавление логирования С++ исключений в `extra/dupfix_multiple`.
|
||||||
|
- Корректировка API-макросов для Doxygen.
|
||||||
|
- Уточнение описания `mdbx_dbi_close()` для случая хендлов измененных таблиц.
|
||||||
|
- Добавление теста `extra/early_close_dbi`.
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user