59 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
3de3d425a1 mdbx: изменение лицензии и реструктуризация исходного кода. 2024-06-19 14:18:18 +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)
4fd21d2f7b mdbx-cmake: незначительное уточнение пробника для std::filesystem. 2023-05-14 01:06:52 +03:00
Leonid Yuriev
6d74b10db1 mdbx: поддержка ASAN (Address Sanitizer) при сборке посредством MSVC. 2023-02-28 00:50:30 +03:00
Леонид Юрьев (Leonid Yuriev)
c01f025bfa mdbx: обновление года на 2023. 2023-01-16 16:32:02 +03:00
Леонид Юрьев (Leonid Yuriev)
623ab21707 mdbx-cmake: совместимость с CMake 3.0.2 для CI на старых системах. 2022-11-07 23:37:27 +03:00
Леонид Юрьев (Leonid Yuriev)
cd616447da mdbx-cmake: set X86_32/X86_64/ARM/MIPS for Windows and Android. 2022-10-22 11:08:06 +03:00
Леонид Юрьев (Leonid Yuriev)
638d71a0c0 mdbx-cmake: sync/update modules. 2022-06-08 16:36:45 +03:00
Леонид Юрьев (Leonid Yuriev)
f6db64bea1 mdbx-cmake: add /bigobj for MSVC. 2022-06-02 20:35:40 +03:00
Леонид Юрьев (Leonid Yuriev)
7260db2e74 mdbx-cmake: sync/refine cmake policy. 2022-06-02 20:35:35 +03:00
Леонид Юрьев (Leonid Yuriev)
cb14ea9e67 mdbx-cmake: explicit error message from probe for no-support of std::filesystem. 2022-05-13 14:05:03 +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)
fb4bd6158f mdbx-cmake: fix extra message space (cosmetics). 2022-04-22 21:35:05 +03:00
Леонид Юрьев (Leonid Yuriev)
7770cae4b5 mdbx-cmake: provide CMAKE_HOST_ARCH and CMAKE_HOST_CAN_RUN_EXECUTABLES_BUILT_FOR_TARGET. 2022-04-22 17:45:28 +03:00
Леонид Юрьев (Leonid Yuriev)
039ebe1f14 mdbx-cmake: rework forming of MDBX_SYSTEM_ARCH identity. 2022-04-22 17:30:11 +03:00
Леонид Юрьев (Leonid Yuriev)
b1101fc33e mdbx-cmake: fix detection of Clang's LTO availability for Android. 2022-04-21 22:11:57 +03:00
Леонид Юрьев (Leonid Yuriev)
51d66494fd mdbx-cmake: add -Wno-lto-type-mismatch to avoid false-positive warnings from GCC < 9.x 2022-04-21 15:40:53 +03:00
Леонид Юрьев (Leonid Yuriev)
5ebcb90620 mdbx-cmake: rework linking detection for std::filesystem. 2022-04-07 21:57:49 +03:00
Леонид Юрьев (Leonid Yuriev)
437cd0d3d7 mdbx-cmake: minor refine version detection of Elbrus LCC compiler. 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
Leonid Yuriev
92cb0cc0db mdbx-cmake: forcing /INCREMENTAL:NO while using LTO/Interprocedutal optimization. 2022-03-28 23:57:24 +03:00
Leonid Yuriev
cf32f4cdb3 mdbx-cmake: removing /W3 when adding /W4 to avoid stupid MSVC warnings. 2022-03-28 23:57:24 +03:00
Леонид Юрьев (Leonid Yuriev)
18290489b2 mdbx-cmake: don't use -fno-semantic-interposition for CLANG. 2022-02-02 19:22:50 +03:00
Леонид Юрьев (Leonid Yuriev)
ac02490c97 mdbx-cmake: sync the compiler.cmake module with other projects. 2022-02-02 16:50:49 +03:00
Leonid Yuriev
79e1cc3bbc mdbx: add workaround for old MSVC and/or old Windows SDK.
Resolves https://github.com/erthink/libmdbx/issues/265.

Change-Id: I295b5d9d5ecd670ccf258791bf87379a3ca17f21
2022-02-01 13:28:59 +03:00
Leonid Yuriev
207124e7fb mdbx: use -fno-semantic-interposition. 2022-01-25 18:19:56 +03:00
Leonid Yuriev
c588af6aca mdbx: update Copyright year.
Change-Id: Ib3e4c0ac94882c4b2a1e167dd98e6e26dbdf48a4
2022-01-17 11:06:14 +03:00
Leonid Yuriev
489f7a3136 mdbx-cmake: add workaround for LTO on Android (https://reviews.llvm.org/D79919). 2022-01-05 17:47:45 +03:00
Леонид Юрьев (Leonid Yuriev)
3e3560753b mdbx-cmake: minor fix detecting Elbrus/LCC. 2021-12-09 15:52:12 +03:00
Leonid Yuriev
5d4d02617d mdbx-cmake: fix search GCC tools for LTO. 2021-08-05 02:26:36 +03:00
Leonid Yuriev
327b283136 mdbx-cmake: fix/reorder dirs list for search CLANG tools for LTO. 2021-08-05 02:26:36 +03:00
Leonid Yuriev
a9cae5e314 mdbx-cmake: avoid CMake warning about compatibility with 3.8.2 2021-08-04 14:09:47 +03:00
Leonid Yuriev
5ae120af80 mdbx-windows: more crutches for MinGW.
More for https://github.com/erthink/libmdbx/issues/155

Change-Id: I7de6122ff160372b2dcfd2a0a26e332cb52d0560
2021-05-08 18:38:44 +03:00
Leonid Yuriev
251eda6fb8 mdbx: HNY!
Change-Id: I86c7028001b349e3d06b837dc8e2f7e60fb3b1a2
2021-01-26 07:27:13 +03:00
Leonid Yuriev
bed14e60c2 mdbx-cmake: add -fsanitize-undefined-trap-on-error to compile flags and ENABLE_UBSAN to config.h.
Change-Id: Ic18c0d59ccf32f9783a44de456893fbc8a0a7d32
2021-01-21 22:45:23 +03:00
Leonid Yuriev
c816797879 mdbx-cmake: minor/cosmetics unify quoting for add_compile_flags().
Change-Id: Idad9dccaedb71be42adb4366a7a995ccf7ab8db8
2021-01-20 23:34:30 +03:00
Leonid Yuriev
11b410dcfe mdbx-cmake: fix stdc++fs linking for modern GCC/CLANG.
Change-Id: I3dc82d09594cb32a14f2ee6673badcf4f4e411eb
2020-09-29 20:59:55 +03:00
Leonid Yuriev
860aa017db mdbx: Merge branch 'master' into devel.
Change-Id: Ic130cd181097332aa2f49019d75403e18d8cba0d
2020-09-25 01:14:57 +03:00
Josh Soref
448728f584 mdbx: a lot of spelling (squashed).
Many Thanks to Josh Soref for these fixes.
https://github.com/jsoref

Resolves https://github.com/erthink/libmdbx/pull/118.

Change-Id: I4e09347da5c9d7a77cdd918a3b15284371440076
2020-09-25 01:01:25 +03:00
Leonid Yuriev
17d9ed31f9 mdbx: support for building by GCC 4.8
Change-Id: I4ad5c5be60233ae68936e0cbca1a0f01ec786bad
2020-09-13 21:22:41 +03:00
Leonid Yuriev
88a4b8cb9b mdbx++: Initial C++ API (some extra methods are not implemented).
Change-Id: I0478d0c94dcd12b52916e87815e5731817407c3c
2020-08-28 16:45:30 +03:00
Leonid Yuriev
500fed496c mdbx-cmake: add ENABLE_UBSAN option.
Change-Id: Ic4333f28aa6494be24c7be1f396bd069dcb9bb5d
2020-07-03 01:55:42 +03:00
Leonid Yuriev
95199c754a mdbx-cmake: fixes for old C/C++ compilers and/or CMake. 2020-06-26 03:28:15 +03:00
Leonid Yuriev
63bf01a60a mdbx-cmake: fix for e2k-lcc 1.24
Change-Id: I5827d4a2526886ae37ad6fe342d5955594081b84
2020-06-22 03:18:54 +03:00
Leonid Yuriev
cda94ee61d mdbx-cmake: update/sync compiler module (clang LTO, exceptions for MSVC).
Change-Id: Ic132d4cb4095a141436599047b80f8a0b8ac4f6b
2020-06-13 03:06:20 +03:00
Leonid Yuriev
fdc92b136f mdbx-cmake: avoid using check_cxx_source_compiles().
More for https://github.com/erthink/libmdbx/issues/111

Change-Id: Icbe1fb3c4ed8e22da7fa7e95d2c8f2c302e77d82
2020-06-12 12:05:27 +03:00
Leonid Yuriev
753cd8fec1 mdbx-cmake: fix using check_cxx_compiler_flag() when C++ compiler don't used/loaded.
Fixes https://github.com/erthink/libmdbx/issues/111

Change-Id: I53cfff2627469e857dcdfc303de4bb1c8ba4e82b
2020-06-12 11:56:38 +03:00
Leonid Yuriev
b67f2da821 mdbx-cmake: fix/rework LTO-support for clang.
Change-Id: I04340e98c92b4006d78fcd58a657841287271a70
2020-05-09 02:48:41 +03:00
Leonid Yuriev
5618ef55fa mdbx-cmake: remove dup lines for Elbrus.
Change-Id: I3bd69a6eba14b691a874712cbea696d08cd68459
2020-04-30 16:59:52 +03:00
Leonid Yuriev
971f924c44 mdbx-build: rearrange source files, rework CMakeLists.txt and refine GNUMakefile (squashed).
Change-Id: Id73d346695011dab2f670bb9e6293a1e5a1835ca
2020-04-17 00:37:57 +03:00