mdbx: обновление ChangeLog.

This commit is contained in:
Леонид Юрьев (Leonid Yuriev) 2023-10-07 10:22:34 +03:00
parent 7d3f136a3a
commit 215bee9ab7

View File

@ -1,10 +1,46 @@
ChangeLog
---------
=========
English version [by Google](https://gitflic-ru.translate.goog/project/erthink/libmdbx/blob?file=ChangeLog.md&_x_tr_sl=ru&_x_tr_tl=en)
and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md).
## v0.12.8 (сопровождение и подготовка к релизу)
Поддержка стабильной ветки.
Благодарности:
- [Alain Picard](https://github.com/castortech) за сообщение о проблеме
с обработкой `MDBX_MULTIPLE` и помощь в тестировании.
Исправления и доработки:
- Реализована перезапись в `mdbx_put(MDBX_CURRENT)` всех текущих мульти-значений ключа
при отсутствии флага `MDBX_NOOVERWRITE`. Ранее в такой ситуации возвращалась ошибка `MDBX_EMULTIVAL`.
В текущем понимании новое поведение более удобно и не создаёт проблем совместимости с ранее написанным кодом.
- Устранение регресса/ошибки в пути обработки `put(MDBX_MULTIPLE)` при пакетном/оптовом
помещении в БД множественных значений одного ключа (aka multi-value или dupsort).
Проявление проблемы зависит от компилятора и опций оптимизации/кодогенерации, но с большой вероятностью возвращется
ошибка `MDBX_BAD_VALSIZE` (`-30781`), а в отладочных сборках срабатывает проверка `cASSERT(mc, !"Invalid key-size")`.
Сценарии приводящие к другим проявлениям на данный момент не известны.
- Микрооптимизация и рефакториг `cursor_put_nochecklen()` в продолжение исправления
регресса/ошибки в пути обработки `put(MDBX_MULTIPLE)`.
Мелочи:
- Исправление несущественных предупреждений при `MDBX_ENABLE_PROFGC=ON`.
- Добавление `slice::as_pod<typename>()` в C++ API.
- Добавление перегрузки `txn::put_multiple()` и контроля POD в C++ API.
- Добавление smoke-теста для `put(MDBX_MULTIPLE)`.
- Добавление дополнительных smoke-тестов в область видимости ctest.
--------------------------------------------------------------------------------
## v0.12.7 "Артек" от 2023-06-16
Стабилизирующий выпуск с исправлением обнаруженных ошибок и устранением