535 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
3de3d425a1 mdbx: изменение лицензии и реструктуризация исходного кода. 2024-06-19 14:18:18 +03:00
Леонид Юрьев (Leonid Yuriev)
b9fd42b9b3 mdbx: объявление опции MDBX_COALESCE устаревшей. 2024-04-04 15:00:27 +03:00
Леонид Юрьев (Leonid Yuriev)
e56c73b4e6 mdbx: добавление режима MDBX_NOSTICKYTHREADS вместо MDBX_NOTLS. 2024-04-04 12:52:50 +03:00
Леонид Юрьев (Leonid Yuriev)
af060b4960 mdbx: вынесение статических переменных в структуру mdbx_static. 2024-03-30 18:01:44 +03:00
Леонид Юрьев (Leonid Yuriev)
5fc3965f5b
mdbx: вливание ветки master в devel. 2024-03-21 01:54:20 +03:00
Леонид Юрьев (Leonid Yuriev)
aea40fb79f
mdbx: выпуск 0.12.10 "СЭМ"
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов
в память Героя России гвардии майора Дмитрия Семёнова с позывным "СЭМ".

Значимые исправления и доработки:
---------------------------------

 - Устранение унаследованной от LMDB ошибки приводящей к повреждению БД при использовании `MDBX_DUPFIXED`.

 - Исправление ложной ошибки `MDBX_CORRUPTED (-30796)` в сценарии работы
   в режиме `MDBX_DUPFIXED` и нечетной длинной мульти-значений.

 - Исправление недочета корректировки сопутствующих курсоров при разделении страницы
   по сценарию добавления пустой страницы слева.

 - Доработка `rebalance()` ради уменьшения WAF.

 - Исправление assert-проверки внутри `check_txn()` для случая завершенных транзакций в режиме `MDBX_NO_TLS`.
   Последствий ошибки, кроме срабатывания assert-проверки в отладочных сборках, нет.

 - Устранение ошибки при открытии БД на файловой системе только-для-чтения.

 - Удалены излишне строгие проверки в утилите `mdbx_chk`, которые
   приводили к ложно-позитивным ошибкам при проверке БД после серии
   последних доработок.

Более подробная информация в [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 19 commits, 57 files changed, 751 insertions(+), 331 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2024-03-13 14:57:38 +03:00
Леонид Юрьев (Leonid Yuriev)
3e850981c7 mdbx-test: расширение стохастического теста dupfixed-сценариями (backport). 2024-03-06 13:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
2b88c6261f mdbx-test: добавление в jitter простого теста txn_reset+txn_renew (backport). 2024-03-06 13:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
1a18369015 mdbx-test: фиксация транзакции при ошибках теста для последующего анализа БД (backport). 2024-03-06 13:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
f7e6bd770a mdbx-test: соответствие протоколируемых имен тестов опциям командной строки (backport). 2024-03-06 13:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
ba5c74e54d mdbx-test: добавление extra/dupfixed_addodd (backport). 2024-03-06 13:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
5df3eb6449 mdbx-test: усиление сценариев тестовых целей в GNUmakefile и CMake. 2024-03-06 11:35:10 +03:00
Леонид Юрьев (Leonid Yuriev)
1c174e84c4 mdbx: добавление mdbx_preopen_snapinfo() в API.
https://gitflic.ru/project/erthink/libmdbx/issue/15
2024-03-05 13:10:29 +03:00
Леонид Юрьев (Leonid Yuriev)
0b87ddc6d4 mdbx-test: добавление в jitter простого теста txn_reset+txn_renew. 2024-03-05 13:10:29 +03:00
Леонид Юрьев (Leonid Yuriev)
0c24b49bbf mdbx-test: расширение стохастического теста dupfixed-сценариями. 2024-03-05 13:10:29 +03:00
Леонид Юрьев (Leonid Yuriev)
d8db63a67d mdbx-test: чуть более разумное/удобное поведение при коллизии генерации не-уникальных пар ключ-значение. 2024-03-05 13:10:29 +03:00
Леонид Юрьев (Leonid Yuriev)
e29cb076d3 mdbx-test: доработка генератора ключей/значений для надежной генерации уникальных значений.
В текущем понимании коммитом этим устраняется застарелая проблема редких
сбоев стохастического теста из-за вероятности ошибочной генерации
повторяющихся пар key-value.
2024-03-05 13:10:28 +03:00
Леонид Юрьев (Leonid Yuriev)
d7f259110c mdbx-test: фиксация транзакции при ошибках теста для последующего анализа БД. 2024-03-03 17:38:41 +03:00
Леонид Юрьев (Leonid Yuriev)
826441741d mdbx: добавление keysize_min() и valsize_min() в API. 2024-03-03 17:38:41 +03:00
Леонид Юрьев (Leonid Yuriev)
00c4e2636e mdbx-test: обновление ГПСЧ. 2024-03-03 17:38:41 +03:00
Леонид Юрьев (Leonid Yuriev)
3373631cff mdbx-test: унификация PRNG и изменение опции командной строки на --prng-seed. 2024-03-03 17:38:23 +03:00
Леонид Юрьев (Leonid Yuriev)
c5ac7b25c9 mdbx-test: доработка генератора пар key-value для поддержки коротких ключей в режиме MDBX_DUPFIXED. 2024-02-28 20:12:39 +03:00
Леонид Юрьев (Leonid Yuriev)
544c6bc1e4 mdbx-test: поддержка rnd/rand/random для опций --keylen и --datalen. 2024-02-28 20:12:39 +03:00
Леонид Юрьев (Leonid Yuriev)
fb5dbbdf20 mdbx-test: соответствие протоколируемых имен тестов опциям командной строки (косметика). 2024-02-28 20:12:38 +03:00
Леонид Юрьев (Leonid Yuriev)
ba719ef12a mdbx-test: доработка after-fork сценариев с устранением логической ошибки. 2024-02-28 20:12:38 +03:00
Леонид Юрьев (Leonid Yuriev)
f0cfedc26f mdbx-test: добавление extra/dupfixed_addodd. 2024-02-28 20:12:38 +03:00
Леонид Юрьев (Leonid Yuriev)
e316bc8b29 mdbx-test: увеличения таймаута для smoke-теста на случай параллельного выполнения под Valgrind. 2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
5a86afaac3 mdbx-test: 3-часовой таймаут для extra_doubtless_positioning при использовании Valgrind. 2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
14558fa90b mdbx-test: правка тестов для совместимости с проблемными версиями glibc и glibc++. 2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
f97c127455 mdbx-test: тест для doubtless-API позиционирования курсоров. 2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
ef69336189 mdbx-test: добавление теста для транскодеров hex/base64/base58. 2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
b6034e8045 mdbx-test: правка тестов для совместимости с проблемными версиями glibc и glibc++ (backport). 2023-11-28 09:36:29 +03:00
Леонид Юрьев (Leonid Yuriev)
100e95957c mdbx-test: доработка логирования для использования после/из глобальных деструкторов. 2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
cfce4ef4d3 mdbx-test: явная установка append-режима для stdout/stderr. 2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
d9f49b17de mdbx-test: добавление тестов для mdbx_env_resurrect_after_fork(). 2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
9a6f8a1bf8 mdbx-test: увеличение tail-log до 3333 для CI. 2023-11-11 12:29:13 +03:00
Леонид Юрьев (Leonid Yuriev)
c216e1afb7 mdbx-test: добавление проверки mdbx_dbi_rename(). 2023-11-11 12:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
7a413406be mdbx-test: обновление исключений для Valgrind. 2023-11-11 12:29:07 +03:00
Леонид Юрьев (Leonid Yuriev)
07fc7b9227 mdbx-test: добавление опции --taillog в стохастический скрипт. 2023-10-30 22:01:35 +03:00
Леонид Юрьев (Leonid Yuriev)
cdbcf54af1 mdbx-tests: добавление --read-var-info=yes для Valgrind. 2023-10-23 20:25:03 +03:00
Леонид Юрьев (Leonid Yuriev)
45721d4064 mdbx-test: устранение жалобы Valgrind на утечку памяти в одном из тестов.
Перед выходом из теста не разрушался курсор.
2023-10-07 18:28:38 +03:00
Леонид Юрьев (Leonid Yuriev)
7d3f136a3a mdbx-cmake: добавление extra-тестов в область видимости ctest. 2023-10-07 09:08:34 +03:00
Леонид Юрьев (Leonid Yuriev)
eb348ca34c mdbx-test-extra: добавление теста dupfixed_multiple. 2023-10-07 09:08:28 +03:00
Леонид Юрьев (Leonid Yuriev)
2abf80a199 mdbx-test-extra: устранение минорных предупреждений старых компиляторов. 2023-05-14 01:07:15 +03:00
Леонид Юрьев (Leonid Yuriev)
99c9bc2411 mdbx: использование clang-format-16. 2023-04-19 11:02:53 +03:00
Леонид Юрьев (Leonid Yuriev)
e47a91bf7c mdbx-test: совместимость со libstdc++ без std::string_view. 2023-04-05 08:57:16 +03:00
Леонид Юрьев (Leonid Yuriev)
3ace3c27b8 mdbx++: добавление typename mdbx::default_allocator. 2023-04-01 11:10:40 +03:00
Леонид Юрьев (Leonid Yuriev)
b5400f9a35 mdbx-test: добавление мини-теста для проверки MainDB с целочисленными ключами. 2023-03-31 22:31:09 +03:00
Леонид Юрьев (Leonid Yuriev)
04ed388761 mdbx-test: добавление extra/upsert_alldups. 2023-03-20 14:38:02 +03:00
Леонид Юрьев (Leonid Yuriev)
800bd55ab9 mdbx-test: добавление опции --extra в скрипт test/long_stochastic.sh 2023-02-28 00:50:48 +03:00
Леонид Юрьев (Leonid Yuriev)
5c52adf358 mdbx-test: расширение набора режимов перебираемых скриптом test/long_stochastic.sh 2023-02-28 00:50:48 +03:00
Leonid Yuriev
6d74b10db1 mdbx: поддержка ASAN (Address Sanitizer) при сборке посредством MSVC. 2023-02-28 00:50:30 +03:00
Леонид Юрьев (Leonid Yuriev)
5f690bbc4f mdbx-test: по-умолчанию работа в режиме MDBX_SYNC_DURABLE. 2023-02-27 16:59:10 +03:00
Леонид Юрьев (Leonid Yuriev)
25e958f081 mdbx: устранение всех предупреждений статического анализатора MSVC (все несущественные или ложные). 2023-02-11 00:26:06 +03:00
Леонид Юрьев (Leonid Yuriev)
c01f025bfa mdbx: обновление года на 2023. 2023-01-16 16:32:02 +03:00
Леонид Юрьев (Leonid Yuriev)
a98c73f4f6 mdbx-cmake: вызов mdbx_chk в режиме чтения-записи для проверки MDBX_EXCLUSIVE в этом режиме. 2023-01-12 17:01:27 +03:00
Леонид Юрьев (Leonid Yuriev)
702c67fc38 mdbx-test: доработка append-теста.
- добавлен speculum-контроль;
- с вероятностью 1/8 генерируются не-последовательные/не-упорядоченные ключи для проверки возврата MDBX_EKEYMISMATH;
- игнорирование расхождение хеша последовательности для не-последовательных ключей.
2023-01-09 23:51:34 +03:00
Леонид Юрьев (Leonid Yuriev)
24f2e878c1 mdbx: устранение несущественных предупреждений Valgrind. 2023-01-03 19:28:11 +03:00
Леонид Юрьев (Leonid Yuriev)
db83bd34d2 mdbx-test: чтение актуальных флагов режима работы БД. 2022-12-04 18:10:50 +03:00
Леонид Юрьев (Leonid Yuriev)
d6b9a71825 mdbx-test: добавление исключений Valgrind для измененного кода. 2022-11-28 23:56:42 +03:00
Леонид Юрьев (Leonid Yuriev)
61eafe80c1 mdbx: использование https://libmdbx.dqdkfa.ru/dead-github для удаленных issues. 2022-11-23 01:18:25 +03:00
Леонид Юрьев (Leonid Yuriev)
70e8006776 mdbx-docs: перенаправление github-ссылок на web-archive. 2022-11-10 15:54:31 +03:00
Леонид Юрьев (Leonid Yuriev)
90f39c88a0 mdbx-test: add --dont-check-ram-size option to stochastic scripts. 2022-11-10 10:54:14 +03:00
Леонид Юрьев (Leonid Yuriev)
bc80fbbeea mdbx-test: fix stochastic scripts after prev commit. 2022-11-10 10:53:14 +03:00
Леонид Юрьев (Leonid Yuriev)
144cbbabb8 mdbx-test: поддержка MinGW в скриптах тестирования для CI. 2022-11-08 20:39:44 +03:00
Леонид Юрьев (Leonid Yuriev)
c270306580 mdbx-windows: уточнение проверок макросов MinGW и устранение предупреждений. 2022-11-08 20:39:44 +03:00
Леонид Юрьев (Leonid Yuriev)
d315a9255a mdbx-test: смена расширения у C++ исходников. 2022-11-08 20:39:44 +03:00
Леонид Юрьев (Leonid Yuriev)
623ab21707 mdbx-cmake: совместимость с CMake 3.0.2 для CI на старых системах. 2022-11-07 23:37:27 +03:00
Леонид Юрьев (Leonid Yuriev)
9cbd4e63ca mdbx-test: минорное уточнение подсказки --help. 2022-11-04 16:21:13 +03:00
Леонид Юрьев (Leonid Yuriev)
7902b97a3d mdbx-test: простая проверка warmup. 2022-10-24 11:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
c4beb5a4a0 mdbx-test: не вызываем sudo при отсутствии. 2022-10-13 19:28:01 +03:00
Леонид Юрьев (Leonid Yuriev)
dd9780606b mdbx-test: небольшие правки скрипта long_stochastic.sh для работы в Windows. 2022-10-10 21:59:51 +03:00
Леонид Юрьев (Leonid Yuriev)
688ec3e85c mdbx-test: добавление исключений Valgrind для нового кода. 2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
ae8e373143 mdbx-test: больше winnt-статусов как coredump. 2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
559f3005ca mdbx-test: чуть больше логирования ошибок. 2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
474391c83c mdbx: поддержка асинхронного ввода-вывода для Windows и подготовка к io_ring (объединённые коммиты и исправления). 2022-10-06 20:35:07 +03:00
Леонид Юрьев (Leonid Yuriev)
18e557c6e8 mdbx: rename internal functions, types and macros (to be closer to MithrilDB). 2022-08-11 12:33:56 +03:00
Леонид Юрьев (Leonid Yuriev)
ac4b6d7121 mdbx-test: always engage MDBX_DBG_DUMP. 2022-07-11 20:29:18 +03:00
Леонид Юрьев (Leonid Yuriev)
b29c15f919 mdbx: merge branch 'master' into devel. 2022-07-09 17:34:25 +03:00
Леонид Юрьев (Leonid Yuriev)
61d0d63ac2 mdbx-test: refine/fix batch-get testcase for large page size (i.e. when more pairs per page). 2022-07-09 13:30:40 +03:00
Леонид Юрьев (Leonid Yuriev)
e9a1042cc2 mdbx-test: add --pagesize NN option to long-stotastic script. 2022-07-09 13:30:40 +03:00
Леонид Юрьев (Leonid Yuriev)
f7f9eaff95 mdbx-test: update Valgrind-suppressions for modern GCC. 2022-07-09 13:30:13 +03:00
Леонид Юрьев (Leonid Yuriev)
acce7d4b16 mdbx-test: remove obsolete coalesce option. 2022-06-27 12:37:29 +03:00
Леонид Юрьев (Leonid Yuriev)
cdfaad18a2 mdbx-test: fix minor lcc 1.26 warning. 2022-06-12 20:19:06 +03:00
Леонид Юрьев (Leonid Yuriev)
9285db6ec2 mdbx-test: add workaround for modern libstd++ with CLANG < 4.x 2022-06-12 20:09:27 +03:00
Леонид Юрьев (Leonid Yuriev)
b6138c39f0 mdbx: reorganize internal includes. 2022-06-02 20:35:40 +03:00
Леонид Юрьев (Leonid Yuriev)
535ad41ae6 mdbx: made internal noop macro compatible with MSVC. 2022-06-02 20:35:40 +03:00
Леонид Юрьев (Leonid Yuriev)
f91dbc6864 mdbx: last fix 32-to-64 warnings from Apple's CLANG 13. 2022-05-24 12:34:19 +03:00
Леонид Юрьев (Leonid Yuriev)
5d2eb580fd mdbx: more minor fixes 32-to-64 warnings from Apple's CLANG 13. 2022-05-19 13:11:25 +03:00
Леонид Юрьев (Leonid Yuriev)
21e1dc3248 mdbx: fix minor warnings from modern Apple's CLANG. 2022-05-15 23:42:57 +03:00
Леонид Юрьев (Leonid Yuriev)
42f1abd7e9 mdbx-cmake: fix/refine --allow-multiple-definition as workaround for std::filesystem and LCC < 1.25.23 2022-04-22 23:03:58 +03:00
Леонид Юрьев (Leonid Yuriev)
b327cafe1a mdbx-cmake: seeding cmake tests. 2022-04-22 22:07:42 +03:00
Леонид Юрьев (Leonid Yuriev)
03e7e3be74 mdbx-cmake: avoid tests with mdbx_chk when MDBX_BUILD_TOOLS=OFF. 2022-04-22 18:07:51 +03:00
Леонид Юрьев (Leonid Yuriev)
1ec5687d36 mdbx: fix build for ARM/ARM64 by MSVC. 2022-04-22 17:18:58 +03:00
Леонид Юрьев (Leonid Yuriev)
e3b0602664 mdbx-cmake: set loglevel=verbose for smoke test to speedup CI. 2022-04-22 09:32:47 +03:00
Леонид Юрьев (Leonid Yuriev)
abc2341cb4 cmake-test: avoid run tests in case cross-compilation without emulator. 2022-04-21 20:35:45 +03:00
Леонид Юрьев (Leonid Yuriev)
03f9ed8820 mdbx-cmake: add a few smoke-like tests. 2022-04-21 20:35:45 +03:00
Леонид Юрьев (Leonid Yuriev)
e875d2128e mdbx-test: add --loglevel= option. 2022-04-21 20:35:41 +03:00
Леонид Юрьев (Leonid Yuriev)
6d15836171 mdbx: use todo4recovery://erased_by_github/ for dead (or temporarily lost) resources. 2022-04-21 15:34:53 +03:00
Леонид Юрьев (Leonid Yuriev)
ed23956e11 mdbx: basic cleanup from dead github and another corrupted services. 2022-04-20 06:42:16 +03:00