4699 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
ca30365d3b mdbx-make: добавление цели ninja-assertions и её использование при make check. 2025-03-17 20:46:44 +03:00
Леонид Юрьев (Leonid Yuriev)
6424747636 mdbx++: использование mdbx_txn_release_all_cursors_ex(). 2025-03-17 20:45:09 +03:00
Леонид Юрьев (Leonid Yuriev)
183610b050 mdbx-doc: исправление url в sitemap. 2025-03-09 11:41:02 +03:00
Леонид Юрьев (Leonid Yuriev)
920d9b5b2f mdbx-doc: добавление ld+json в корневой index.hml 2025-03-05 12:54:51 +03:00
Леонид Юрьев (Leonid Yuriev)
283c962fea mdbx: исправление опечатки в ChangeLog. 2025-03-05 01:46:57 +03:00
Леонид Юрьев (Leonid Yuriev)
805d84480d mdbx: исправление опечатки в ChangeLog. 2025-03-05 01:44:21 +03:00
Леонид Юрьев (Leonid Yuriev)
8efcdeae9d mdbx: исправление опечатки в дате внутри ChangeLog. 2025-03-04 20:06:16 +03:00
Леонид Юрьев (Leonid Yuriev)
7504a8f8f2 mdbx: обновление ChangeLog. 2025-03-04 14:47:13 +03:00
Леонид Юрьев (Leonid Yuriev)
94a2abaf31 mdbx: добавление в API mdbx_txn_release_all_cursors_ex() и изменение семантики результата mdbx_txn_release_all_cursors() (backport).
По недосмотру в выпусках остался предварительный/черновой вариант
функции mdbx_txn_release_all_cursors(), который смешивает в возвращаемом
значении информацию об ошибке/успехе и количество обработанных курсоров.
За-за чего невозможно отличить одно от другого, например ошибку EPERM на
Linux от одного успешно закрытого курсора.

Теперь mdbx_txn_release_all_cursors() возвращает только код ошибки,
а для получения кол-ва закрытых курсоров в API добавлена функция mdbx_txn_release_all_cursors_ex().
2025-03-04 14:45:13 +03:00
Леонид Юрьев (Leonid Yuriev)
9c161cdafd mdbx: дополнение ChangeLog. 2025-03-04 14:27:53 +03:00
Леонид Юрьев (Leonid Yuriev)
a3265e11dc mdbx: добавление в API mdbx_txn_release_all_cursors_ex() и изменение семантики результата mdbx_txn_release_all_cursors().
По недосмотру в выпусках остался предварительный/черновой вариант
функции mdbx_txn_release_all_cursors(), который смешивает в возвращаемом
значении информацию об ошибке/успехе и количество обработанных курсоров.
За-за чего невозможно отличить одно от другого, например ошибку EPERM на
Linux от одного успешно закрытого курсора.

Теперь mdbx_txn_release_all_cursors() возвращает только код ошибки,
а для получения кол-ва закрытых курсоров в API добавлена функция mdbx_txn_release_all_cursors_ex().
2025-03-04 14:21:25 +03:00
Леонид Юрьев (Leonid Yuriev)
709d524d21 mdbx: проверка владельца потока владеющего транзакцией только при MDBX_TXN_CHECKOWNER=ON. 2025-03-04 10:52:30 +03:00
Леонид Юрьев (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)
e0843429a1 mdbx-doc: актуализация раздела MacOS в README. 2025-03-04 00:02:39 +03:00
Леонид Юрьев (Leonid Yuriev)
329eee4e4f mdbx-make: поиск gnu-sed на Darwin/MacOS. 2025-03-03 23:12:55 +03:00
Леонид Юрьев (Leonid Yuriev)
4fd165f8d2 mdbx: дополнение ChangeLog. 2025-03-03 20:16:51 +03:00
Леонид Юрьев (Leonid Yuriev)
05e7a94619 mdbx-tests: исправление extra-open для 32-битных сборок Windows (БД еще меньше). 2025-03-03 02:31:32 +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)
826cdb708f mdbx: корректировка log_error() для устранение ложных ошибок при работе mdbx_chk с высоким уровнем логирования.
Некая проблема была в том, что при высоком уровне логирования в логгер
также отправлялись неизбежные MDBX_NOTFOND при достижении конца
интегрируемых данных. В свою очередь, chk-логика формирования отчета
подсчитывала эти сообщения как ошибки при проверке БД...
2025-03-03 01:12:35 +03:00
Леонид Юрьев (Leonid Yuriev)
da24fda578 mdbx: добавление print-подобных функций в chk для удобства отладки. 2025-03-03 01:11:55 +03:00
Леонид Юрьев (Leonid Yuriev)
0fa21a3c0d mdbx: переделка env_owned_wrtxn() и мест её вызова.
Цель в том чтобы избавить от коллизии блокировки возникающей внутри
dxb_sanitize_tail() при использовании Valgrind/ASAN, а также упросить
код.
2025-03-02 23:29:40 +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)
dd9f608320 mdbx: дополнительные проверки сигнатур курсоров при итерации связанных списков. 2025-03-02 11:46:10 +03:00
Леонид Юрьев (Leonid Yuriev)
28ca18972a mdbx: более полная очистка курсоров при закрытии/отключении. 2025-03-02 11:44:10 +03:00
Леонид Юрьев (Leonid Yuriev)
fbb93f9cfb mdbx: удаление const у транзакции в cursor_bind() и cursor_renew(). 2025-03-02 10:41:38 +03:00
Леонид Юрьев (Leonid Yuriev)
bc464521c0 mdbx-tests: расширение extra/dbi. 2025-03-02 00:42:55 +03:00
Леонид Юрьев (Leonid Yuriev)
9273e2ee60 mdbx: исправление наследования dbi-хендла открытого в дочерней транзакции без изменения данных. 2025-03-02 00:40:18 +03:00
Леонид Юрьев (Leonid Yuriev)
e035f102ab mdbx: устранение сбоя аудита таблиц при инвалидации dbi-хендла вследствие отмены вложенной транзакции. 2025-03-02 00:10:56 +03:00
Леонид Юрьев (Leonid Yuriev)
1240ed2ba3 mdbx: исправление оплошности в спецификации формата при логировании имен таблиц. 2025-03-02 00:10:56 +03:00
Леонид Юрьев (Leonid Yuriev)
6ca63b46d8 mdbx: уменьшение в 16 раз предлагаемого размера БД для устранения проблем Valgrind/ASAN. 2025-03-02 00:10:56 +03:00
Леонид Юрьев (Leonid Yuriev)
9fee0bc3a6 mdbx-tests: удаление тестовой БД перед началом теста в extra/dupfix_addodd. 2025-03-02 00:10:56 +03:00
Леонид Юрьев (Leonid Yuriev)
c14bb7814f mdbx-tests: исправление extra-open для 32-битных сборок. 2025-02-20 23:48:48 +03:00
Леонид Юрьев (Leonid Yuriev)
9b31c517e6 mdbx: проверяем выравнивание размера БД на юнит выделения памяти, а не на размер страницы.
Теоретически до этого коммита могла быть некоторая неувязка:
 - при открытии БД с размером страницы 4K на Windows (где размер секции кратен 64K) в режиме read-only,
 - после того как БД использовалась на POSIX (где размер отображения кратен размеру системной страницы).

Ранее ошибка могла возвращаться со стороны системы (например INVALID_PARAMETER) и по ней крайне сложно было понять в чем дело.
Теперь же будет логирование ошибки и возврат MDBX_WANNA_RECOVERY.
2025-02-20 23:11:28 +03:00
Леонид Юрьев (Leonid Yuriev)
66c747e4a9 mdbx-cmake: корректировка форматирования (косметика). 2025-02-20 23:11:28 +03:00
Леонид Юрьев (Leonid Yuriev)
54d8c0d290 mdbx: переработка проверка размера файла БД при открытии.
Переработка 05cdf9d202b14ac09c801c7893e65271fa27f378. У предыдущего
варианта был недостаток, при необходимости выдачи предупреждения
и открытии БД с изменением геометрии, предупреждение не выдавалось,
что может затруднять анализ/разбор проблемных ситуаций.
2025-02-20 23:11:28 +03:00
Леонид Юрьев (Leonid Yuriev)
26cd5ebc43 mdbx: дополнение ChangeLog. 2025-02-20 00:13:21 +03:00
Леонид Юрьев (Leonid Yuriev)
806f819bae mdbx-tests: дополнение extra-open. 2025-02-20 00:09:58 +03:00
Леонид Юрьев (Leonid Yuriev)
0ef0f49e2e mdbx: устранение излишнего предупреждения при смене размера БД во время открытия (backport).
Изменение геометрии (увеличение размера) больших БД может быть не
возможно после их открытия вследствие системных ограничений (отсутствия
свободного адресного пространства).

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

Спасибо Илье Михееву (Erigon) за сообщение об этом недочете.
2025-02-19 23:38:15 +03:00
Леонид Юрьев (Leonid Yuriev)
05cdf9d202 mdbx: устранение излишнего предупреждения при смене размера БД во время открытия.
Изменение геометрии (увеличение размера) больших БД может быть не
возможно после их открытия вследствие системных ограничений (отсутствия
свободного адресного пространства).

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

Спасибо Илье Михееву (Erigon) за сообщение об этом недочете.
2025-02-19 23:22:18 +03:00
Леонид Юрьев (Leonid Yuriev)
818740976b mdbx-doc: добавление ссылки на привязку к Zig. 2025-02-17 15:01:57 +03:00