mirror of
https://github.com/isar/libmdbx.git
synced 2024-12-28 02:58:49 +08:00
mdbx: дополнение ChangeLog.
This commit is contained in:
parent
e2ca81ae83
commit
367a118a8f
46
ChangeLog.md
46
ChangeLog.md
@ -25,26 +25,47 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
||||
- Переход на "Semantic Versioning 2" и экспорт информации о версии в `VERSION.json`.
|
||||
- Добавлена поддержка переменной среды `SOURCE_DATE_EPOCH` для воспроизводимости сборок.
|
||||
Прежний способ посредством `MDBX_BUILD_TIMESTAMP` также работает и имеет приоритет.
|
||||
- Добавлена возможность указывать дополнительную информацию о сборке libmdbx через опцию `MDBX_BUILD_METADATA`.
|
||||
Сейчас задаваемая информация просто включается внутрь библиотеки в качестве значения `mdbx_build.metadata`,
|
||||
а в дальнейшем также будет использоваться при формировании пакетов и т.п.
|
||||
- Добавлена возможность указывать дополнительную информацию о сборке
|
||||
libmdbx через опцию `MDBX_BUILD_METADATA`. Сейчас задаваемая информация
|
||||
просто включается внутрь библиотеки в качестве значения
|
||||
`mdbx_build.metadata`, а в дальнейшем также будет использоваться при
|
||||
формировании пакетов и т.п.
|
||||
- Добавлено логирование ошибок возвращаемых из API. Теперь для этого
|
||||
достаточно задать уровень логирования `MDBX_LOG_DEBUG` (для логирования
|
||||
ошибок за вычетом `MDBX_NOTFOUND`) или `MDBX_LOG_TRACE` (для логирования
|
||||
всех ошибок, а также `MDBX_RESULT_TRUE`).
|
||||
- Поддержка сборки посредством Conan.
|
||||
|
||||
Изменение поведения:
|
||||
|
||||
- Добавлен метод `mdbx::cursor::get_multiple_samelength()` и переименован `mdbx::txn::put_multiple_samelength()`.
|
||||
- Для единообразия C++ API при выполнении операции `MDBX_GET_MULTIPLE` теперь также возвращается значение самого ключа.
|
||||
- Для размерных констант `mdbx::env::geometry` базовый тип изменен с беззнакового `size_t` на знаковый `intptr_t`.
|
||||
- Теперь выбор в пользу использования ntdll вместо CRT делается только при явном отключении C++ API.
|
||||
- Теперь выполняется освобождение памяти сброшенных/прерванных читающих транзакций передаваемых в `mdbx_txn_commit()`.
|
||||
Соглашение по API требует чтобы такие транзакции освобождались посредством `mdbx_txn_abort()`, из-за чего
|
||||
функция `mdbx_txn_commit()` возвращала ошибку в таких случаях, не разрушая сами транзакции.
|
||||
Это приводило к утечкам памяти из-за ошибок в приложениях, что побудило изменить поведение.
|
||||
- Добавлен метод `mdbx::cursor::get_multiple_samelength()` и
|
||||
переименован `mdbx::txn::put_multiple_samelength()`.
|
||||
- Для единообразия C++ API при выполнении операции `MDBX_GET_MULTIPLE`
|
||||
теперь также возвращается значение самого ключа.
|
||||
- Для размерных констант `mdbx::env::geometry` базовый тип изменен с
|
||||
беззнакового `size_t` на знаковый `intptr_t`.
|
||||
- Теперь выбор в пользу использования ntdll вместо CRT делается только
|
||||
при явном отключении C++ API.
|
||||
- Теперь выполняется освобождение памяти сброшенных/прерванных читающих
|
||||
транзакций передаваемых в `mdbx_txn_commit()`. Соглашение по API требует
|
||||
чтобы такие транзакции освобождались посредством `mdbx_txn_abort()`,
|
||||
из-за чего функция `mdbx_txn_commit()` возвращала ошибку в таких
|
||||
случаях, не разрушая сами транзакции. Это приводило к утечкам памяти
|
||||
из-за ошибок в приложениях, что побудило изменить поведение.
|
||||
- Использование макроса `__deprecated_enum` если он определен.
|
||||
- При сборке посредством CMake выбор стандарта языка `C` теперь выполняется с учётом `CMAKE_C_STANDARD`.
|
||||
- При сборке посредством CMake выбор стандарта языка `C` теперь
|
||||
выполняется с учётом `CMAKE_C_STANDARD`.
|
||||
- Изменения в опциях сборки:
|
||||
* опция `MDBX_OSX_SPEED_INSTEADOF_DURABILITY` переименована в
|
||||
`MDBX_APPLE_SPEED_INSTEADOF_DURABILITY`, так как актуальна для всех
|
||||
"Яблочных" платформ;
|
||||
* опция `MDBX_MMAP_USE_MS_ASYNC` переименована в
|
||||
`MDBX_MMAP_NEEDS_JOLT`, для более точного соответствия своей семантики;
|
||||
* в CMake добавлена поддержка опции `MDBX_USE_MINCORE`;
|
||||
* использование `madvise()` и родственных системных вызовов теперь
|
||||
всегда включено, а опция `MDBX_ENABLE_MADVISE` удалена;
|
||||
* удалены неиспользуемая опция `MDBX_USE_SYNCFILERANGE` и
|
||||
неиспользуемый режим `MDBX_LOCKING_BENAPHORE`.
|
||||
|
||||
Исправления:
|
||||
|
||||
@ -66,6 +87,7 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
|
||||
- Поправлено определение `MDBX_DEPRECATED_ENUM` для старых компиляторов при включении С++11.
|
||||
- Доработано использование `std::experimental::filesystem` для решения проблем со сборкой в старых компиляторах.
|
||||
- Исправлена обработка `MDBX_GET_MULTIPLE` в специальных случаях и одного значения у ключа в позиции курсора.
|
||||
- Исправление сборки при включении профилирования GC и `MDBX_ENABLE_DBI_SPARSE=OFF`.
|
||||
|
||||
Мелочи:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user