Леонид Юрьев (Leonid Yuriev)
800c96f22f
mdbx: доработка перераспределения резерва при возврате страниц в GC.
...
В экстремальных случаях, масштабирование одного операнда и 32-бит не хватает для предотвращения потери значимости расчетного коэффициента.
Поэтому здесь реализован переход на фиксированную точку 32-точка-32 с одним 64-битным делением и двумя полными умножениями 32*32->64.
Для 32-битных систем можно сделать чуть легче, заменив 64-битую арифметику масштабированием (адаптивным сдвигом) обоих операндов, но пока не вижу в этом смысла.
2025-05-02 17:59:30 +03:00
Леонид Юрьев (Leonid Yuriev)
d1023dc6b5
mdbx: merge branch devel
.
2025-04-29 12:03:50 +03:00
Леонид Юрьев (Leonid Yuriev)
859c350df0
mdbx: дополнение ChangeLog.
2025-04-29 08:39:35 +03:00
Леонид Юрьев (Leonid Yuriev)
76e2544cc0
mdbx: доработки gc_handle_dense()
для экстремально-редких случаев.
2025-04-29 08:39:18 +03:00
Леонид Юрьев (Leonid Yuriev)
0a96b2ad97
mdbx-doc: дополнение раздела "Containers" в README.
2025-04-28 14:43:01 +03:00
Леонид Юрьев (Leonid Yuriev)
402a8e62be
mdbx: merge branch master
into devel
.
2025-04-26 00:17:57 +03:00
Леонид Юрьев (Leonid Yuriev)
06300de34e
mdbx: подсказки для coverity.
2025-04-26 00:15:52 +03:00
Леонид Юрьев (Leonid Yuriev)
da9f78d2f6
mdbx: несущественные доработки rkl.
2025-04-26 00:15:52 +03:00
Леонид Юрьев (Leonid Yuriev)
a5af0c1a85
mdbx: исправление глупой утечки памяти в rkl_destroy()
.
2025-04-26 00:15:52 +03:00
Леонид Юрьев (Leonid Yuriev)
2b36fd5974
mdbx: новый код обновления GC.
2025-04-26 00:15:41 +03:00
Леонид Юрьев (Leonid Yuriev)
3338551860
mdbx: рефакторинг макроса TXN_FOREACH_DBI_FROM
с выделением функции dbi_foreach_step()
.
2025-04-24 23:26:22 +03:00
Леонид Юрьев (Leonid Yuriev)
1c7a5e18fe
mdbx: подсказки для coverity.
2025-04-24 15:39:07 +03:00
Леонид Юрьев (Leonid Yuriev)
6627d14edf
mdbx: упрощение старта транзакций и исправление возможности double-free при ошибке создания вложенной транзакции.
2025-04-24 11:11:31 +03:00
Леонид Юрьев (Leonid Yuriev)
7db9c40fe0
mdbx-tests: установка max-dbi для extra/cursor-closing.
2025-04-23 23:01:27 +03:00
Леонид Юрьев (Leonid Yuriev)
52c9ef8807
mdbx: merge branch stable
into master
.
2025-04-22 15:56:02 +03:00
Леонид Юрьев (Leonid Yuriev)
5c44dd201c
mdbx: обновление патча для старых версий buildroot.
2025-04-22 14:43:37 +03:00
Леонид Юрьев (Leonid Yuriev)
f4384800b5
mdbx: обновление ChangeLog.
2025-04-22 13:10:30 +03:00
Леонид Юрьев (Leonid Yuriev)
a971c76aff
v0.13.6 "Бузина".
...
Поддерживающий выпуск стабильной ветки с исправлением обнаруженных ошибок и устранением недочётов,
в память о погибшем украинском историке и писателе [Алесе Бузине](https://ru.ruwiki.ru/wiki/Бузина,_Олесь_Алексеевич ).
За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html ).
git diff' stat: 15 files changed, 194 insertions(+), 36 deletions(-).
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
v0.13.6
2025-04-22 11:53:23 +03:00
Леонид Юрьев (Leonid Yuriev)
b6f918aa1c
mdbx: исправление опечатки в логировании (backport).
2025-04-22 11:17:39 +03:00
Леонид Юрьев (Leonid Yuriev)
011c3072da
mdbx-tests: поддержка десятичных суффиксов для batch-параметров.
2025-04-21 21:38:17 +03:00
Леонид Юрьев (Leonid Yuriev)
02b56e185f
mdbx: добавление rkl_find()
и rkl_merge()
.
2025-04-21 21:38:17 +03:00
Леонид Юрьев (Leonid Yuriev)
576fc94fef
mdbx: исправление опечатки в логировании (косметика).
2025-04-21 21:30:26 +03:00
Леонид Юрьев (Leonid Yuriev)
a56f5acc3d
mdbx: рефакторинг tree_rebalance()
и реализации опции MDBX_opt_prefer_waf_insteadof_balance
.
2025-04-20 18:46:08 +03:00
Леонид Юрьев (Leonid Yuriev)
072103ab67
mdbx-tests: исправление extra/cursor-closing для старых стандартов C++.
2025-04-20 00:45:16 +03:00
Леонид Юрьев (Leonid Yuriev)
ab2f661c97
mdbx: дополнение ChangeLog.
2025-04-20 00:01:59 +03:00
Леонид Юрьев (Leonid Yuriev)
668a1e42e3
mdbx: дополнение ChangeLog.
2025-04-19 23:52:19 +03:00
Леонид Юрьев (Leonid Yuriev)
5548ef20f6
mdbx: переупорядочивание атрибутов для совместимости с GCC-15 в режиме C23 (backport).
2025-04-19 23:44:07 +03:00
Леонид Юрьев (Leonid Yuriev)
679c1eb939
mdbx-tests: обнуление pid на входе в osal_actor_poll()
(backport).
2025-04-19 23:43:43 +03:00
Леонид Юрьев (Leonid Yuriev)
76a588f91b
mdbx: исправление возврата MDBX_BAD_TXN
вместо MDBX_EINVAL
из mdbx_cursor_unbind()
в особых случаях (backport).
2025-04-19 23:42:59 +03:00
Леонид Юрьев (Leonid Yuriev)
6b5515908b
mdbx: предотвращение возврата неожиданной ошибки MDBX_BUSY
из mdbx_txn_lock(dont_wait=false)
(backport).
2025-04-19 23:42:34 +03:00
Леонид Юрьев (Leonid Yuriev)
dc747483dd
mdbx-tests: привязка кол-ва потоков/проверок к кол-ву процессоров в extra/cursor-closing.
2025-04-19 20:02:09 +03:00
Леонид Юрьев (Leonid Yuriev)
89de43293d
mdbx: исправление возврата MDBX_BAD_TXN
вместо MDBX_EINVAL
из mdbx_cursor_unbind()
в особых случаях.
2025-04-19 20:01:57 +03:00
Леонид Юрьев (Leonid Yuriev)
270cf399aa
mdbx: упрощение очистки MDBX_TXN_HAS_CHILD
.
2025-04-19 20:01:57 +03:00
Леонид Юрьев (Leonid Yuriev)
b5503b5670
mdbx: исправление форматирования (косметика).
2025-04-19 20:01:36 +03:00
Леонид Юрьев (Leonid Yuriev)
a71cefc288
mdbx: предотвращение возврата неожиданной ошибки MDBX_BUSY
из mdbx_txn_lock(dont_wait=false)
.
2025-04-19 14:07:26 +03:00
Леонид Юрьев (Leonid Yuriev)
6d6a19e3c3
mdbx-tests: вывод информации о salt/seed в extra/cursor-closing.
2025-04-19 14:07:26 +03:00
Леонид Юрьев (Leonid Yuriev)
0d7d4db3f1
mdbx: понижение уровня отладочного логирования lru-reduce.
2025-04-19 14:07:26 +03:00
Леонид Юрьев (Leonid Yuriev)
0f505c1377
mdbx: переупорядочивание атрибутов для совместимости с GCC-15 в режиме C23.
2025-04-18 10:49:00 +03:00
Леонид Юрьев (Leonid Yuriev)
f6ce9381af
mdbx-tests: обнуление pid на входе в osal_actor_poll()
.
2025-04-18 10:47:10 +03:00
Леонид Юрьев (Leonid Yuriev)
214fa153e2
mdbx: дополнение ChangeLog.
2025-04-10 16:54:13 +03:00
Леонид Юрьев (Leonid Yuriev)
819551ce13
mdbx-tests: расширение и доработка сценария extra/cursor-closing (backport).
2025-04-10 16:37:42 +03:00
Леонид Юрьев (Leonid Yuriev)
a22c0c5c48
mdbx: подсказка для Coverity для подавления ложно-положительных предупреждений (backport).
2025-04-10 16:35:53 +03:00
Леонид Юрьев (Leonid Yuriev)
9540cabf5f
mdbx: возврат MDBX_EINVAL
из mdbx_cursor_bind()
при невозможности отвязки курсора от его текущей транзакции (backport).
2025-04-10 16:34:57 +03:00
Леонид Юрьев (Leonid Yuriev)
0e3b093eb5
mdbx: исправление неверной assert-проверки и микрооптимизация (backport).
...
В пути фиксации вложенных транзакций, условие в assert-проверке не было
корректным для случая, когда таблица уже существовала и её дескриптор
был открыт, использовался в завершаемой вложенной транзакции, но не
использовался в родительской.
Это исправление недочета также передаёт, уже загруженное из БД, кешируемое
состояние таблицы в родительскую транзакцию.
2025-04-10 16:34:19 +03:00
Леонид Юрьев (Leonid Yuriev)
5d38add405
mdbx: исправление ошибок merge/rebase (backport).
2025-04-10 16:33:10 +03:00
Леонид Юрьев (Leonid Yuriev)
2ceda89b05
mdbx-tests: расширение и доработка сценария extra/cursor-closing.
2025-04-10 12:26:01 +03:00
Леонид Юрьев (Leonid Yuriev)
5bd99d4da2
mdbx: подсказка для Coverity для подавления ложно-положительных предупреждений.
2025-04-10 12:25:50 +03:00
Леонид Юрьев (Leonid Yuriev)
a04053ee98
mdbx: возврат MDBX_EINVAL
из mdbx_cursor_bind()
при невозможности отвязки курсора от его текущей транзакции.
2025-04-10 12:25:32 +03:00
Леонид Юрьев (Leonid Yuriev)
f35c1fe5bc
mdbx: исправление неверной assert-проверки и микрооптимизация.
...
В пути фиксации вложенных транзакций, условие в assert-проверке не было
корректным для случая, когда таблица уже существовала и её дескриптор
был открыт, использовался в завершаемой вложенной транзакции, но не
использовался в родительской.
Это исправление недочета также передаёт уже загруженное из БД кешируемое
состояние таблицы в родительскую транзакцию.
2025-04-10 12:24:39 +03:00
Леонид Юрьев (Leonid Yuriev)
4691c0b5c8
mdbx: исправление ошибок merge/rebase.
2025-04-10 12:18:23 +03:00