libmdbx 0.12.12 (Доллежаль)
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов, в память о советском ученом-энергетике Николае Антоновиче Доллежаль в день 125-летия со дня его рождения.
For translation to other languages please try Yandex or liar Google.
Это последний выпуск куста стабильных версий 0.12.x, спустя более двух лет после выпуска 0.12.1. Последующие выпуски 0.12.x будут формироваться только в случае существенных проблем/ошибок, вероятность чего близка к нулю. Для всех проектов находящихся в стадии активной разработки рекомендуется использовать ветку master
.
git diff' stat: 6 commits, 5 files changed, 239 insertions(+), 6 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
Значимые исправления:
- Исправление упущенного
TXN_END_EOTD
при сбое старта читающей транзакции. Упомянутый флажок отсутствовал в пути разрушения транзакции при ошибке её запуска. Из-за чего делалась попытка разрушить курсоры, что приводило к падению отладочных сборок, так как в них соответствующий массив намеренно заполнен некорректными указателями. - Устранение возможности
SIGSEGV
внутриcoherency_check()
после изменения геометрии другим процессом с увеличением верхнего размера БД и увеличением БД больше предыдущего лимита. - Доработка
mdbx_close_dbi()
для возврата ошибки при попытке закрыть dbi-дескриптор таблицы, созданной и/или измененной в ещё выполняющейся транзакции. Такое преждевременное закрытие дескриптора является неверным использованием API и нарушением контракта/предусловий сформулированных в описанииmdbx_close_dbi()
. Однако, вместо возврата ошибки выполнялось некорректное закрытие дескриптора, что могло приводить к созданию таблицы с пустым именем, утечки страниц БД и/или нарушению структуры b-tree (неверной ссылкой на корень таблицы). Добавлен соответствующий тестextra/early_close_dbi
.
Загрузки:
- 292K, libmdbx-amalgamated-0.12.12.zpaq, sha256sum:
1fd01445a3544e4c52cb02a2848d8a66df1b7a8ed0ffe6123f6186e0216c8fc8
- 392K, libmdbx-amalgamated-0.12.12.tar.xz, sha256sum:
19c0eb33e1ed43ca2a94dceb06dd31946432d16f30a9751d3701c67efa22eb1a
Более подробная информация и история предыдущих выпусков доступна в ChangeLog.