mirror of
https://github.com/isar/libmdbx.git
synced 2024-12-29 08:38: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`.
|
- Переход на "Semantic Versioning 2" и экспорт информации о версии в `VERSION.json`.
|
||||||
- Добавлена поддержка переменной среды `SOURCE_DATE_EPOCH` для воспроизводимости сборок.
|
- Добавлена поддержка переменной среды `SOURCE_DATE_EPOCH` для воспроизводимости сборок.
|
||||||
Прежний способ посредством `MDBX_BUILD_TIMESTAMP` также работает и имеет приоритет.
|
Прежний способ посредством `MDBX_BUILD_TIMESTAMP` также работает и имеет приоритет.
|
||||||
- Добавлена возможность указывать дополнительную информацию о сборке libmdbx через опцию `MDBX_BUILD_METADATA`.
|
- Добавлена возможность указывать дополнительную информацию о сборке
|
||||||
Сейчас задаваемая информация просто включается внутрь библиотеки в качестве значения `mdbx_build.metadata`,
|
libmdbx через опцию `MDBX_BUILD_METADATA`. Сейчас задаваемая информация
|
||||||
а в дальнейшем также будет использоваться при формировании пакетов и т.п.
|
просто включается внутрь библиотеки в качестве значения
|
||||||
|
`mdbx_build.metadata`, а в дальнейшем также будет использоваться при
|
||||||
|
формировании пакетов и т.п.
|
||||||
- Добавлено логирование ошибок возвращаемых из API. Теперь для этого
|
- Добавлено логирование ошибок возвращаемых из API. Теперь для этого
|
||||||
достаточно задать уровень логирования `MDBX_LOG_DEBUG` (для логирования
|
достаточно задать уровень логирования `MDBX_LOG_DEBUG` (для логирования
|
||||||
ошибок за вычетом `MDBX_NOTFOUND`) или `MDBX_LOG_TRACE` (для логирования
|
ошибок за вычетом `MDBX_NOTFOUND`) или `MDBX_LOG_TRACE` (для логирования
|
||||||
всех ошибок, а также `MDBX_RESULT_TRUE`).
|
всех ошибок, а также `MDBX_RESULT_TRUE`).
|
||||||
|
- Поддержка сборки посредством Conan.
|
||||||
|
|
||||||
Изменение поведения:
|
Изменение поведения:
|
||||||
|
|
||||||
- Добавлен метод `mdbx::cursor::get_multiple_samelength()` и переименован `mdbx::txn::put_multiple_samelength()`.
|
- Добавлен метод `mdbx::cursor::get_multiple_samelength()` и
|
||||||
- Для единообразия C++ API при выполнении операции `MDBX_GET_MULTIPLE` теперь также возвращается значение самого ключа.
|
переименован `mdbx::txn::put_multiple_samelength()`.
|
||||||
- Для размерных констант `mdbx::env::geometry` базовый тип изменен с беззнакового `size_t` на знаковый `intptr_t`.
|
- Для единообразия C++ API при выполнении операции `MDBX_GET_MULTIPLE`
|
||||||
- Теперь выбор в пользу использования ntdll вместо CRT делается только при явном отключении C++ API.
|
теперь также возвращается значение самого ключа.
|
||||||
- Теперь выполняется освобождение памяти сброшенных/прерванных читающих транзакций передаваемых в `mdbx_txn_commit()`.
|
- Для размерных констант `mdbx::env::geometry` базовый тип изменен с
|
||||||
Соглашение по API требует чтобы такие транзакции освобождались посредством `mdbx_txn_abort()`, из-за чего
|
беззнакового `size_t` на знаковый `intptr_t`.
|
||||||
функция `mdbx_txn_commit()` возвращала ошибку в таких случаях, не разрушая сами транзакции.
|
- Теперь выбор в пользу использования ntdll вместо CRT делается только
|
||||||
Это приводило к утечкам памяти из-за ошибок в приложениях, что побудило изменить поведение.
|
при явном отключении C++ API.
|
||||||
|
- Теперь выполняется освобождение памяти сброшенных/прерванных читающих
|
||||||
|
транзакций передаваемых в `mdbx_txn_commit()`. Соглашение по API требует
|
||||||
|
чтобы такие транзакции освобождались посредством `mdbx_txn_abort()`,
|
||||||
|
из-за чего функция `mdbx_txn_commit()` возвращала ошибку в таких
|
||||||
|
случаях, не разрушая сами транзакции. Это приводило к утечкам памяти
|
||||||
|
из-за ошибок в приложениях, что побудило изменить поведение.
|
||||||
- Использование макроса `__deprecated_enum` если он определен.
|
- Использование макроса `__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.
|
- Поправлено определение `MDBX_DEPRECATED_ENUM` для старых компиляторов при включении С++11.
|
||||||
- Доработано использование `std::experimental::filesystem` для решения проблем со сборкой в старых компиляторах.
|
- Доработано использование `std::experimental::filesystem` для решения проблем со сборкой в старых компиляторах.
|
||||||
- Исправлена обработка `MDBX_GET_MULTIPLE` в специальных случаях и одного значения у ключа в позиции курсора.
|
- Исправлена обработка `MDBX_GET_MULTIPLE` в специальных случаях и одного значения у ключа в позиции курсора.
|
||||||
|
- Исправление сборки при включении профилирования GC и `MDBX_ENABLE_DBI_SPARSE=OFF`.
|
||||||
|
|
||||||
Мелочи:
|
Мелочи:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user