Леонид Юрьев (Leonid Yuriev)
e3d4cd5758
mdbx: исправление условий для MDBX_DEPRECATED
(backport).
2024-04-04 15:24:10 +03:00
Леонид Юрьев (Leonid Yuriev)
04f1200c3d
mdbx-doc: исправление опечатки в MDBX_ENV_JUST_DELETE
(backport).
2024-03-22 00:28:03 +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)
4a7a2034c0
mdbx: новый размер MDBX_opt_rp_augment_limit по умолчанию в 1/3 от текущего кол-ва страниц в БД.
2023-11-28 21:45:21 +03:00
Леонид Юрьев (Leonid Yuriev)
5abb6a9bbf
mdbx-doc: удаление устаревшего упоминания MDBX_EAGAIN
.
2023-11-17 21:18:21 +03:00
Леонид Юрьев (Leonid Yuriev)
b905a6a391
mdbx: const
для начала и конца диапазона в аргументах mdbx_estimate_range()
(backport).
2023-11-12 21:30:09 +03:00
Леонид Юрьев (Leonid Yuriev)
7eb2f4130e
mdbx: использование const MDBX_txn
где это возможно в API (backport).
2023-11-12 19:33:27 +03:00
Леонид Юрьев (Leonid Yuriev)
e58b582639
mdbx: исправление MDBX_LAST_ADDED_ERRCODE
.
2023-10-23 16:33:30 +03:00
Леонид Юрьев (Leonid Yuriev)
25ec8e253f
mdbx-doc: уточнение формулировок в описании API.
2023-10-14 14:16:49 +03:00
Леонид Юрьев (Leonid Yuriev)
e21e91ad1f
mdbx-doc: уточнение формулировок о SIGSEGV
и недопустимости прямого изменения данных.
2023-10-08 11:55:30 +03:00
Леонид Юрьев (Leonid Yuriev)
7aaae2ecd5
mdbx-doc: исправление ссылок на mdbx_canary_put().
2023-06-01 08:48:38 +03:00
Леонид Юрьев (Leonid Yuriev)
da4e2ab254
mdbx-doc: исправление ссылок в описании mdbx_env_set_geometry()
.
2023-03-17 10:54:40 +03:00
Леонид Юрьев (Leonid Yuriev)
7db014c4fc
mdbx++: добавление в C++ API поддержки расширенных опций времени выполнения enum MDBX_option_t
.
...
https://gitflic.ru/project/erthink/libmdbx/issue/4
2023-03-01 23:22:50 +03:00
Леонид Юрьев (Leonid Yuriev)
bd35fe8970
mdbx-doc: добавление doxygen-описания для API с широкими символами.
2023-02-11 00:26:06 +03:00
Леонид Юрьев (Leonid Yuriev)
1684d17b0f
mdbx-windows: поддержка char-версии mdbx_env_get_path()
.
2023-02-11 00:26:06 +03:00
Леонид Юрьев (Leonid Yuriev)
c01f025bfa
mdbx: обновление года на 2023.
2023-01-16 16:32:02 +03:00
Леонид Юрьев (Leonid Yuriev)
525c4a55a4
mdbx: fix English typos.
...
Thanks to Dimitris Apostolou <dimitris.apostolou@icloud.com>
2023-01-10 14:16:08 +03:00
Леонид Юрьев (Leonid Yuriev)
61e77e7b70
mdbx: контроль отсутствия дубликатов LCK-файла с альтернативными именами.
2023-01-07 00:10:23 +03:00
Леонид Юрьев (Leonid Yuriev)
7011743262
mdbx: поддержка не-печатных имен для subDb.
2022-12-21 22:29:03 +03:00
Леонид Юрьев (Leonid Yuriev)
957c99d86f
mdbx: добавление MDBX_opt_prefault_write_enable
вместо MDBX_ENABLE_PREFAULT
.
2022-12-12 18:54:03 +03:00
Леонид Юрьев (Leonid Yuriev)
fd7aaf5f35
mdbx: добавление ошибки MDBX_BACKLOG_DEPLETED
и соответствующей логики в page_alloc_slowpath()
.
2022-12-09 18:07:16 +03:00
Леонид Юрьев (Leonid Yuriev)
a772a9d3e1
mdbx: добавление проверки посредством mincore()
с кэшированием присутствия страниц в памяти (опция сборки MDBX_ENABLE_MINCORE
).
2022-12-05 10:41:05 +03:00
Леонид Юрьев (Leonid Yuriev)
be3ff92772
mdbx: предотвращение бесполезных page-faults в режиме MDBX_WRITEMAP
(опция сборки MDBX_ENABLE_PREFAULT
).
2022-12-05 10:03:00 +03:00
Леонид Юрьев (Leonid Yuriev)
dc27d5d30a
mdbx: рефакторинг с формированием page_alloc_finalize()
и сокрашением метрик MDBX_ENABLE_PROFGC
.
2022-12-04 18:24:30 +03:00
Леонид Юрьев (Leonid Yuriev)
23d236f70e
mdbx: добавление MDBX_opt_writethrough_threshold
и сопутствующие доработки.
2022-12-04 13:41:50 +03:00
Леонид Юрьев (Leonid Yuriev)
b7734369a2
mdbx: кавычки для предупреждения о дырявости RISC-V для совместимости.
2022-11-29 02:50:34 +03:00
Леонид Юрьев (Leonid Yuriev)
67f4098bfa
mdbx: add admonition of insecure for RISC-V.
2022-11-09 12:39:06 +03:00
Леонид Юрьев (Leonid Yuriev)
f680c99116
mdbx: переделка page_alloc_slowpath()
с добавлением профилирования GC.
2022-11-07 00:44:37 +03:00
Леонид Юрьев (Leonid Yuriev)
36eb40bccb
mdbx: добавлено описание параметров MDBX_debug_func
и MDBX_debug_func
.
2022-11-05 14:06:00 +03:00
Леонид Юрьев (Leonid Yuriev)
8f8b9f3d2a
mdbx: чуток апостофов для имен в doxygen-комментариях.
2022-11-02 00:02:33 +03:00
Леонид Юрьев (Leonid Yuriev)
d661d4bac7
mdbx: добавление mdbx_env_warmup()
2022-10-24 11:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
e5fc056035
mdbx: изменение формата LCK и семантики некоторых внутренних полей.
...
Изменение формата LCK-файла означает что версии libmdbx использующие
разный формат не смогут работать с одной БД одновременно, а только
поочередно (LCK-файл переписывается при открытии первым открывающим БД
процессом).
1. Поле mti_unsynced_pages теперь 64-битное (чтобы не контролировать
переполнение) и перемещено для соблюдения выравнивания.
2. Поле mti_sync_timestamp переименовано в mti_eoos_timestamp
одновременно со сменой семантики. Теперь время отсчитывается не от
момента сброса данных на диск, а с момента входа в «грязное» состояние.
Скорее всего, текущая версия формата LCK не окончательная
и изменится до релиза.
2022-10-12 21:25:18 +03:00
Леонид Юрьев (Leonid Yuriev)
c3dd60fcb6
mdbx: добавление mdbx_env_get_pairsize4page_max()
и mdbx_env_get_valsize4page_max()
.
2022-10-10 16:33:51 +03:00
Леонид Юрьев (Leonid Yuriev)
98e29fe628
mdbx-windows: UNICODE-зависимое определение макросов MDBX_DATANAME, MDBX_LOCKNAME и MDBX_LOCK_SUFFIX.
2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
66f2e3d596
mdbx: добавление в API функций mdbx_limits_pairsize4page_max()
и mdbx_limits_valsize4page_max()
с сопутствующими доработками.
2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
bcd5bad74a
mdbx: добавлено MDBX_NORETURN
к mdbx_panic()
и mdbx_assert_fail()
.
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)
29da09328e
mdbx: removed description of deprecated usage of MDBX_NODUPDATA
.
2022-09-06 13:03:04 +03:00
Леонид Юрьев (Leonid Yuriev)
f9ad835680
mdbx: drop E2K libc obsolete workarounds.
2022-08-17 21:29:51 +03:00
Леонид Юрьев (Leonid Yuriev)
9b3faee630
mdbx: drop obsolete Nexenta attributes API.
2022-08-17 21:29:51 +03:00
Леонид Юрьев (Leonid Yuriev)
2ff8d3c4f2
mdbx: native wchar_t
pathname for Windows.
2022-08-09 18:27:43 +03:00
Леонид Юрьев (Leonid Yuriev)
12d2879a9f
mdbx: extend descriptions for MDBX_VALIDATION
and update TODO for done item.
2022-07-09 19:40:09 +03:00
Леонид Юрьев (Leonid Yuriev)
9aa2aae93e
mdbx: rework/simplify kick_longlived_readers()
.
2022-07-08 23:44:03 +03:00
Леонид Юрьев (Leonid Yuriev)
2cfcfcf91c
mdbx: merge branch erigon
into devel
.
2022-07-07 23:24:45 +03:00
Леонид Юрьев (Leonid Yuriev)
d4ef9bf233
mdbx: rework page validation/checking, add MDBX_VALIDATION
option (squashed).
...
Здесь основная часть изменений преобразующих отладочную проверку страниц
в регулярный и доступный пользователю осторожный/безопасный режим работы
с потенциально поврежденной БД.
Here the major part of the changes that transform a debugging check of
pages into a regular and user-accessible careful/safe mode for working
with a potentially corrupted database.
2022-07-07 14:10:09 +03:00
Леонид Юрьев (Leonid Yuriev)
4f6b92248d
mdbx: add pgop_stat.gcrtime
for collect the time spent loading and searching inside GC.
2022-07-01 09:27:38 +03:00
Леонид Юрьев (Leonid Yuriev)
46f61c3006
mdbx: merge branch master
into devel
.
2022-06-27 12:39:09 +03:00
Леонид Юрьев (Leonid Yuriev)
e3a09db3da
mdbx: always coalescing GC records, regardless to MDBX_COALESCE
flag.
2022-06-27 12:37:29 +03:00
Леонид Юрьев (Leonid Yuriev)
7b735c272d
mdbx: allow predefine/customise MDBX_LOCK_SUFFIX
, MDBX_DATANAME
, MDBX_LOCKNAME
.
2022-06-25 22:14:06 +03:00
Леонид Юрьев (Leonid Yuriev)
5d933d09d3
mdbx: minor refine/clarify descriptions of MDBX_LOCKNAME
and MDBX_DATANAME
.
2022-06-25 15:27:33 +03:00