Леонид Юрьев (Leonid Yuriev)
5ebcb90620
mdbx-cmake: rework linking detection for std::filesystem
.
2022-04-07 21:57:49 +03:00
Леонид Юрьев (Leonid Yuriev)
39a4a89650
mdbx++: declare mdbx::filesystem
if available.
2022-04-07 18:00:23 +03:00
Леонид Юрьев (Leonid Yuriev)
68ac48235e
mdbx-ci: add if-failure
step to github-actions to dump all *.err
logs.
2022-04-06 12:44:30 +03:00
Леонид Юрьев (Leonid Yuriev)
eb3fc985d6
mdbx-make: refine GNUmakefile
to avoid bug of GNU Make 3.81
2022-04-06 12:43:58 +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)
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)
7b95720f59
mdbx++: add support for legacy experimental/filesystem
.
2022-04-05 22:20:39 +03:00
Леонид Юрьев (Leonid Yuriev)
64e23c9be0
mdbx-make: add probe4
prefix for error-log files.
2022-04-05 13:07:54 +03:00
Леонид Юрьев (Leonid Yuriev)
cabead30b5
mdbx: minor cosmetics.
2022-03-31 00:31:49 +03:00
Леонид Юрьев (Leonid Yuriev)
688d4495c5
mdbx: update ChangeLog.
2022-03-30 19:12:42 +03:00
Леонид Юрьев (Leonid Yuriev)
b6d36e2235
mdbx-ci: add 'build by make' step info mingw action.
2022-03-30 18:50:34 +03:00
Леонид Юрьев (Leonid Yuriev)
ebf7bf7583
mdbx-make: support for MinGW.
2022-03-30 18:13:44 +03:00
Леонид Юрьев (Leonid Yuriev)
6f37c8e57f
mdbx: resolve all warnings from MinGW.
2022-03-30 18:13:08 +03:00
Leonid Yuriev
21da42d23d
mdbx: fix built-in status of MDBX_WITHOUT_MSVC_CRT
option.
2022-03-30 18:10:03 +03:00
Леонид Юрьев (Leonid Yuriev)
2497437060
mdbx: mark the parent transaction dirty in case the undo of the geometry update failed during abortion of a nested transaction.
2022-03-29 18:57:35 +03:00
Леонид Юрьев (Leonid Yuriev)
33a9395afe
mdbx: use MDBX_EPERM
to indicate that the geometry cannot be updated instead of `MDBX_RESULT_TRUE'.
2022-03-29 18:57:26 +03:00
Leonid Yuriev
7654c9d9a1
mdbx-test: handle MDBX_RESULT_TRUE
from mdbx_env_set_geometry()
under Windows.
2022-03-28 23:57:24 +03:00
Leonid Yuriev
27a513682a
mdbx: disable C5105
warning for Visual Studio > 15.7 (MSVC > 19.14).
2022-03-28 23:57:24 +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
57978b0f7f
mdbx-cmake: add remove_flag
and remove_compile_flag
macros.
2022-03-28 23:57:24 +03:00
Леонид Юрьев (Leonid Yuriev)
eb532b8907
mdbx-tools: add check for log-level.
2022-03-28 23:57:24 +03:00
Леонид Юрьев (Leonid Yuriev)
6f06641bf2
mdbx-tools: handle NULL from memory allocation functions.
2022-03-28 23:44:31 +03:00
Леонид Юрьев (Leonid Yuriev)
1ccc9b3e3b
mdbx-make: add missed "--match=v[0-9]*"
to git describe
.
2022-03-28 09:19:39 +03:00
Леонид Юрьев (Leonid Yuriev)
ec0379ad93
mdbx-cmake: add missed "--match=v[0-9]*"
to git describe
.
2022-03-28 09:16:15 +03:00
Леонид Юрьев (Leonid Yuriev)
18789654fc
mdbx: update ChangeLog.
2022-03-27 16:01:04 +03:00
Леонид Юрьев (Leonid Yuriev)
bac546bdfa
mdbx-make: add tools-static
target.
2022-03-27 14:01:18 +03:00
Леонид Юрьев (Leonid Yuriev)
a6b506be45
mdbx-test: minor refine Valgrind-suppressions for gcc-isra.
2022-03-25 13:54:34 +03:00
Леонид Юрьев (Leonid Yuriev)
6380f2e844
mdbx: minor reformat (cosmetics).
2022-03-25 13:47:37 +03:00
Леонид Юрьев (Leonid Yuriev)
fef90d2a3c
mdbx: add explicit memset()
for debugging.
2022-03-25 13:47:37 +03:00
Леонид Юрьев (Leonid Yuriev)
d522069080
mdbx: fix rare SIGSEGV in cursor tracking code.
...
The error was that the array of pointers in the transaction zeroed by the
value of env->me_numdbs and before txn->mt_numdbs was set to env->me_numdbs.
Thus, a cursor pointer(s) in the starting transaction could uninitialized if
another thread opened a dbi-handle(s) between the two aforementioned events.
2022-03-25 13:05:46 +03:00
Леонид Юрьев (Leonid Yuriev)
d5e4c198d8
mdbx: release v0.11.6
...
The stable release with the complete workaround for an incoherence flaw of Linux unified page/buffer cache.
Nonetheless the cause for this trouble may be an issue of Intel CPU cache/MESI.
See [issue#269](https://github.com/erthink/libmdbx/issues/269 ) for more information.
Acknowledgements:
-----------------
- [David Bouyssié](https://github.com/david-bouyssie ) for [Scala bindings](https://github.com/david-bouyssie/mdbx4s ).
- [Michelangelo Riccobene](https://github.com/mriccobene ) for reporting and testing.
Fixes:
------
- [Added complete workaround](https://github.com/erthink/libmdbx/issues/269 ) for an incoherence flaw of Linux unified page/buffer cache.
- [Fixed](https://github.com/erthink/libmdbx/issues/272 ) cursor reusing for read-only transactions.
- Fixed copy&paste typo inside `mdbx::cursor::find_multivalue()`.
Minors:
-------
- Minor refine C++ API for convenience.
- Minor internals refines.
- Added `lib-static` and `lib-shared` targets for make.
- Added minor workaround for AppleClang 13.3 bug.
- Clarified error messages of a signature/version mismatch.
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
v0.11.6
2022-03-24 20:44:21 +03:00
Леонид Юрьев (Leonid Yuriev)
415d0d1dfb
mdbx: update ChangeLog.
2022-03-24 19:19:53 +03:00
Леонид Юрьев (Leonid Yuriev)
50d5b2345e
mdbx-test: add Valgrind-suppressions for bcmp/memcmp of page-check inside mdbx_iov_write()
.
...
Related to https://github.com/erthink/libmdbx/issues/269 .
2022-03-24 12:11:50 +03:00
Леонид Юрьев (Leonid Yuriev)
d13534967a
mdbx++: fix copy&paste typo inside mdbx::cursor::find_multivalue()
.
2022-03-24 12:11:50 +03:00
Леонид Юрьев (Leonid Yuriev)
43070c7b26
mdbx: minor fix meta_checktxnid()
for Valgrind/ASAN usage.
...
Related to https://github.com/erthink/libmdbx/issues/269 .
2022-03-24 12:11:50 +03:00
Леонид Юрьев (Leonid Yuriev)
45f8197635
mdbx: clarify/refine error messages of a signature/version mismatch.
2022-03-24 00:19:34 +03:00
Леонид Юрьев (Leonid Yuriev)
3db02d2236
mdbx++: explicitly define noexcept
copy-assignment ops as workaround for AppleClang > 13.3 bug.
...
Try workaround for https://github.com/erthink/libmdbx/issues/278
2022-03-23 18:06:28 +03:00
Леонид Юрьев (Leonid Yuriev)
b79f6712e3
mdbx: refine override_meta()
to preserve format-signature for legacy/zero mod_txnid.
2022-03-23 00:48:41 +03:00
Леонид Юрьев (Leonid Yuriev)
de63041b7d
mdbx: add MDBX_DBG_DONT_UPGRADE
flag.
2022-03-23 00:48:41 +03:00
Леонид Юрьев (Leonid Yuriev)
a5c064c33e
mdbx: preserve (don't upgrade) format-signature during turn to a specified meta-page while recovery.
2022-03-23 00:48:41 +03:00
Your Name
9c832c24a6
mdbx: minor fix error-message space.
2022-03-23 00:48:41 +03:00
Леонид Юрьев (Leonid Yuriev)
c4a5325aaf
mdbx: check-and-retry against page arrival as a workaround for unified page/buffer cache incoherency.
...
Part 2 of 2 of the workaround for https://github.com/erthink/libmdbx/issues/269 .
2022-03-08 17:09:29 +03:00
Леонид Юрьев (Leonid Yuriev)
93cf99a07c
mdbx: drop the previous temporary workaround for unified page/buffer cache incoherency.
...
Related to https://github.com/erthink/libmdbx/issues/269 .
2022-03-06 13:22:57 +03:00
Леонид Юрьев (Leonid Yuriev)
00ed61c685
mdbx: check-and-retry a mvcc-snapshot for unified page/buffer cache coherency.
...
Part 1 of 2 of the workaround for https://github.com/erthink/libmdbx/issues/269 .
2022-03-06 13:22:38 +03:00
Леонид Юрьев (Leonid Yuriev)
f84d9f6208
mdbx++: minor refine mdbx::cursor::erase()
.
2022-03-06 00:13:11 +03:00
Леонид Юрьев (Leonid Yuriev)
9569b864ff
mdbx-test: fix quoting for tr
args inside long_stochastic.sh
2022-03-05 15:37:32 +03:00
Леонид Юрьев (Leonid Yuriev)
8b69be8def
mdbx: update ChangeLog.
2022-03-05 15:14:20 +03:00
Леонид Юрьев (Leonid Yuriev)
4c619e32f7
mdbx: move origin to
https://gitflic.ru/project/erthink/libmdbx .
2022-03-05 14:39:02 +03:00