Леонид Юрьев (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
Леонид Юрьев (Leonid Yuriev)
5ebcb90620
mdbx-cmake: rework linking detection for std::filesystem
.
2022-04-07 21:57:49 +03:00
Леонид Юрьев (Leonid Yuriev)
c9dfb7d8c2
mdbx-cmake: add workaround for LCC 1.25 bug of class inline static constexpr
member field definition.
2022-04-06 12:43:58 +03:00
Леонид Юрьев (Leonid Yuriev)
f054ceeab8
mdbx-cmake: add linking with stdc++fs
for LCC < 1.26
2022-04-06 12:43:58 +03:00