libmdbx 0.12.12 (Доллежаль)

Леонид Юрьев обновлён 5 месяцев назад v0.12.12 b16c257 Релиз
0
Описание

Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов, в память о советском ученом-энергетике Николае Антоновиче Доллежаль в день 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.

Загрузки:

Более подробная информация и история предыдущих выпусков доступна в ChangeLog.

Файлы
  • Нет файлов