v0.12.12 "Доллежаль". Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов, в память о советском ученом-энергетике Николае Антоновиче Доллежаль в день 125-летия со дня его рождения. Это последний выпуск куста стабильных версий 0.12.x, спустя более двух лет после выпуска 0.12.1. Последующие выпуски 0.12.x будут формироваться только в случае существенных проблем/ошибок, вероятность чего близка к нулю. Для всех проектов находящихся в стадии активной разраборки рекомендуется использовать ветку `master`. Значимые исправления: --------------------- - Исправление упущенного `TXN_END_EOTDONE` при сбое старта читающей транзакции. Упомянутый флажок отсутствовал в пути разрушения транзакции при ошибке её запуска. Из-за чего делалась попытка разрушить курсоры, что приводило к падению **отладочных сборок**, так как в них соответствующий массив намеренно заполнен некорректными указателями. - Устранение возможности `SIGSEGV` внутри `coherency_check()` после изменения геометрии другим процессом с увеличением верхнего размера БД и увеличением БД больше предыдущего лимита. - Доработка `mdbx_close_dbi()` для возврата ошибки при попытке закрыть dbi-дескриптор таблицы, созданной и/или измененной в ещё выполняющейся транзакции. Такое преждевременное закрытие дескриптора является неверным использованием API и нарушением контракта/предусловий сформулированных в описании `mdbx_close_dbi()`. Однако, вместо возврата ошибки выполнялось некорректное закрытие дескриптора, что могло приводить к созданию таблицы с пустым именем, утечки страниц БД и/или нарушению структуры b-tree (неверной ссылкой на корень таблицы). Добавлен соответствующий тест `extra/early_close_dbi`. Более подробная информация и история предыдущих выпусков доступна в [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html). git diff' stat: 6 commits, 5 files changed, 239 insertions(+), 6 deletions(-) Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
Этот тег не содержит заметок к релизу