4505 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
0604accecf mdbx: проверка владельца потока владеющего транзакцией только при MDBX_TXN_CHECKOWNER=ON (backport). 2025-03-04 10:44:42 +03:00
Леонид Юрьев (Leonid Yuriev)
bc2f1c59cb mdbx: обновление ChangeLog. 2025-03-04 01:14:03 +03:00
Леонид Юрьев (Leonid Yuriev)
40f655e2da mdbx: корректировка log_error() для устранение ложных ошибок при работе mdbx_chk с высоким уровнем логирования (backport).
Некая проблема была в том, что при высоком уровне логирования в логгер
также отправлялись неизбежные MDBX_NOTFOND при достижении конца
интегрируемых данных. В свою очередь, chk-логика формирования отчета
подсчитывала эти сообщения как ошибки при проверке БД...
2025-03-03 01:49:32 +03:00
Леонид Юрьев (Leonid Yuriev)
5e714ed946 mdbx: переделка env_owned_wrtxn() и мест её вызова (backport).
Цель в том чтобы избавить от коллизии блокировки возникающей внутри
dxb_sanitize_tail() при использовании Valgrind/ASAN, а также упросить
код.
2025-03-03 01:49:25 +03:00
Леонид Юрьев (Leonid Yuriev)
d313008d82 mdbx: дополнительные проверки сигнатур курсоров при итерации связанных списков (backport). 2025-03-02 16:38:27 +03:00
Леонид Юрьев (Leonid Yuriev)
9277daa185 mdbx: более полная очистка курсоров при закрытии/отключении (backport). 2025-03-02 16:37:49 +03:00
Леонид Юрьев (Leonid Yuriev)
1792bdc763 mdbx-tests: расширение extra/dbi (backport). 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
90635e7248 mdbx: исправление наследования dbi-хендла открытого в дочерней транзакции без изменения данных. 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
1ec13c63ab mdbx: устранение сбоя аудита таблиц при инвалидации dbi-хендла вследствие отмены вложенной транзакции (backport). 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
c712147eeb mdbx: исправление оплошности в спецификации формата при логировании имен таблиц (backport). 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
23600241e1 mdbx: уменьшение в 16 раз предлагаемого размера БД для устранения проблем Valgrind/ASAN (backport). 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
22c6763d57 mdbx-tests: удаление тестовой БД перед началом теста в extra/dupfix_addodd (backport). 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
c585fcd613 mdbx-tests: расширение extra/open (backport). 2025-03-02 16:03:20 +03:00
Леонид Юрьев (Leonid Yuriev)
0ef0f49e2e mdbx: устранение излишнего предупреждения при смене размера БД во время открытия (backport).
Изменение геометрии (увеличение размера) больших БД может быть не
возможно после их открытия вследствие системных ограничений (отсутствия
свободного адресного пространства).

Поэтому API предусматривает возможность запросить изменение
геометрии/размера БД перед её открытием. В этом сценарии ранее могло
выдаваться лишнее/ненужное предупреждение о несоответствии файла БД
новому размеру. Теперь этот недостаток исправлен.

Спасибо Илье Михееву (Erigon) за сообщение об этом недочете.
2025-02-19 23:38:15 +03:00
Леонид Юрьев (Leonid Yuriev)
80de77b1ee mdbx-doc: опечатки в README (backport). 2025-02-16 22:15:32 +03:00
Леонид Юрьев (Leonid Yuriev)
822213f75d
mdbx: информация о статусе Github (backport). 2025-02-15 15:46:44 +03:00
Леонид Юрьев (Leonid Yuriev)
aa2ff20faf mdbx: обновление патча для старых версий buildroot (backport). 2025-02-14 21:37:47 +03:00
Леонид Юрьев (Leonid Yuriev)
fcdd2e2db3 mdbx: обновление ChangeLog. 2025-02-14 15:23:28 +03:00
Леонид Юрьев (Leonid Yuriev)
75122b311d
mdbx: выпуск 0.13.4 "Sigma Boy".
Поддерживающий выпуск стабильной ветки с исправлением обнаруженных ошибок и устранением недочётов.

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 139 files changed, 391 insertions(+), 208 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
v0.13.4
2025-02-14 12:56:12 +03:00
Леонид Юрьев (Leonid Yuriev)
79572b4850 mdbx: корректировка излишне строгого условия в assert-проверке внутри recalculate_subpage_thresholds() (backport). 2025-02-11 14:03:13 +03:00
Леонид Юрьев (Leonid Yuriev)
24f2b9b099 mdbx-conan: исправление опечатки в имени переменной version_json_pathname в verbose-выводе.
Спасибо Виктору Логунову (https://t.me/vl_username) за сообщение о проблеме.
2025-02-03 18:46:53 +03:00
Леонид Юрьев (Leonid Yuriev)
b46d2def80 mdbx: дополнение ChangeLog. 2025-01-27 12:12:38 +03:00
Леонид Юрьев (Leonid Yuriev)
21630ea115 mdbx: устранение регресса вероятности SIGSEGV при вытеснении/spilling страниц (backport).
Ошибка внесена коммитом `a6f7d74a32a3cbcc310916a624a31302dbebfa07` от
2024-03-07 и присутствует в выпусках v0.13.1, v0.13.2, v0.13.3. Проблема
оставалась незамеченной из-за специфических условий и низкой вероятности
проявления.

Суть ошибки:

- функция cursor_touch() подготавливает стек страниц курсора к внесению
  изменений, при этом все страницы в стеке (от корневой до листовой
  в текущей позиции курсора) должны стать доступными для модификации.

- микрооптимизация добавленная коммитом пропускала обход стека, если
  корневая страница уже доступна для модификации, но это
  допустимо/корректно только при отсутствии в стеке вытесненных/spilled
  страниц.

- если же складывалась ситуация когда в стека была вытесненная
  некорневая страница, то она так и оставалась недоступной для записи и
  при попытке её изменения возникал SIGSEGV.
2025-01-27 11:18:50 +03:00
Леонид Юрьев (Leonid Yuriev)
6d346d8630 mdbx-cmake: поддержка MacOS universal binaries (backport).
Thank Alain Picard (Castor Technologies) so much for this patch and supporting the Java bindings!
2025-01-27 11:18:50 +03:00
Леонид Юрьев (Leonid Yuriev)
b59937adb8 mdbx-doc: исправление опечатки в упоминании mdbx_env_resurrect_after_fork() (backport). 2025-01-26 17:38:37 +03:00
Леонид Юрьев (Leonid Yuriev)
11e1346f9d mdbx: исправление опечатки в cursor_touch() (backport).
При переделке курсоров было пропущено отрицание в условии, при оценке
кол-ва страниц, которые могут потребоваться для выполнения операции.

В текущем понимании ошибка не приводила к каким-либо проблемам, ибо
оценка делает по верхней границе с существенным запасом, а в худшем
случае это могло приводить к прерыванию транзакции из-за достижения
ограничения на кол-во грязных страниц.
2025-01-26 17:05:40 +03:00
Леонид Юрьев (Leonid Yuriev)
a59c5f9316 mdbx: упрощение gcu_loose() (backport). 2025-01-26 10:16:02 +03:00
Леонид Юрьев (Leonid Yuriev)
27a2166be7 mdbx-doc: исправление орфографии/опечатки в ChangeLog (backport). 2025-01-21 15:41:21 +03:00
Леонид Юрьев (Leonid Yuriev)
c615e4d0a6 mdbx-doc: доработка/актуализация раздела "Restrictions & Caveats" (backport). 2025-01-19 02:30:35 +03:00
Леонид Юрьев (Leonid Yuriev)
03685aba5a mdbx-doc: разделение актуальных и устаревших/неподдерживаемых привязок в README (backport). 2025-01-18 19:03:14 +03:00
Леонид Юрьев (Leonid Yuriev)
4a0a32a54b mdbx-doc: добавление в README ссылки на архив сообщений телеграмм-группы 2020-2024 годов (backport). 2025-01-18 19:03:11 +03:00
Леонид Юрьев (Leonid Yuriev)
36abcc57f0 mdbx: обновление года в © (backport). 2025-01-18 10:58:31 +03:00
Леонид Юрьев (Leonid Yuriev)
88d782e5eb mdbx: обновление патча для старых версий buildroot (backport). 2025-01-14 13:08:18 +03:00
Леонид Юрьев (Leonid Yuriev)
d3daa23c63 mdbx: обновление ChangeLog (подготовка выпуска 0.13.4). 2025-01-13 13:13:26 +03:00
Леонид Юрьев (Leonid Yuriev)
bd45668fee mdbx: merge branch master into stable. 2025-01-12 22:08:00 +03:00
Леонид Юрьев (Leonid Yuriev)
92e2b6287e
mdbx: выпуск 0.13.3 "Королёв" (Korolev).
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов
в день рождения и в память об [Серге́е Па́вловиче Королёве](https://ru.wikipedia.org/wiki/Королёв,_Сергей_Павлович),
советском учёном и Главном конструкторе ракетно-космических систем.

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 67 files changed, 3514 insertions(+), 3004 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
v0.13.3
2025-01-12 16:27:02 +03:00
Леонид Юрьев (Leonid Yuriev)
c751977bf7 mdbx-tools: добавление логирования ошибок/предупреждений по все утилиты. 2025-01-12 14:38:20 +03:00
Леонид Юрьев (Leonid Yuriev)
e5fe279632 mdbx: логирование ошибок при открытии lck-файла. 2025-01-12 14:30:39 +03:00
Леонид Юрьев (Leonid Yuriev)
8408a2eed3 mdbx: добавление разделителя между MDBX_BUILD_FLAGS_CONFIG и MDBX_BUILD_FLAGS (косметика). 2025-01-12 11:54:24 +03:00
Леонид Юрьев (Leonid Yuriev)
0297136648 mdbx: улучшение авто-переключения в режим without-lck при открытии БД на read-only-носителе. 2025-01-12 02:58:59 +03:00
Леонид Юрьев (Leonid Yuriev)
92a49c7c8c mdbx: устранение риска потери/перезаписи errno при неожиданных ошибках в close(). 2025-01-12 02:58:59 +03:00
Леонид Юрьев (Leonid Yuriev)
b75e16f4f8 mdbx: устранение null-dereference регресса в режиме readonly-without-lck. 2025-01-12 02:58:59 +03:00
Леонид Юрьев (Leonid Yuriev)
dcc8708d6a mdbx: дополнение ChangeLog (запланирован выпуск v0.13.3). 2025-01-11 02:35:48 +03:00
Леонид Юрьев (Leonid Yuriev)
9c8f90b713 mdbx: доработка эвристик для выбора/подстройки default-значений в mdbx_env_set_geometry(). 2025-01-11 02:30:53 +03:00
Леонид Юрьев (Leonid Yuriev)
820bd45818 mdbx++: использование только default-значений для геометрии по-умолчанию вместо min/max. 2025-01-10 23:50:05 +03:00
Леонид Юрьев (Leonid Yuriev)
3a02ca88ea mdbx-make: добавление цели ctest и её привязка к make check. 2025-01-10 23:50:05 +03:00
Леонид Юрьев (Leonid Yuriev)
16997a88b0 mdbx-tests: уменьшение кол-ва итераций в crunched-delete. 2025-01-10 23:50:05 +03:00
Леонид Юрьев (Leonid Yuriev)
b00e8ea13f mdbx: использование txl_contain() в audit(). 2025-01-08 13:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
faa9753d2d mdbx: перемещение и корректировка комментария размечающего внутренние поля пишущей транзакции. 2025-01-05 14:44:00 +03:00
Леонид Юрьев (Leonid Yuriev)
5ba257fafc mdbx: добавление упущенного static для txl_reserve(). 2025-01-05 14:44:00 +03:00