Леонид Юрьев (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)
eb8bc865d1
mdbx: fix and check width of off_t
for Android.
2022-04-19 20:00:29 +03:00
Леонид Юрьев (Leonid Yuriev)
682ff99f1c
mdbx-make: add smoke-assertion
, test-assertion
, long-test-assertion
targets.
2022-04-19 19:43:42 +03:00
Леонид Юрьев (Leonid Yuriev)
4628ac6863
mdbx: add paranoid assertions for off_t
args of fcntl()
.
2022-04-19 19:43:42 +03:00
Леонид Юрьев (Leonid Yuriev)
bb8f431817
mdbx-cmake: use target_include_directories()
instead of include_directories()
.
2022-04-13 11:05:50 +03:00
Леонид Юрьев (Leonid Yuriev)
8fb63c3675
mdbx: minor refine API descriptions.
2022-04-13 11:05:03 +03:00
Леонид Юрьев (Leonid Yuriev)
3792dd1007
mdbx: now we accept donations only in Russian Rubles.
2022-04-12 15:08:49 +03:00
Леонид Юрьев (Leonid Yuriev)
15cc7d5ed3
mdbx: update ChangeLog.
2022-04-12 10:20:50 +03:00
Леонид Юрьев (Leonid Yuriev)
9fa4e21165
mdbx: fix assertion regression.
...
Fixes https://github.com/ledgerwatch/erigon/issues/3874 .
This was a minor regression after the c4a5325aafd3f03ce7520731b9da7253d7d178f0
that affects only debug builgs (with enabled assertions) and only when the added
code catch a incoherency of unified page/buffer cache.
2022-04-11 21:52:46 +03:00
Леонид Юрьев (Leonid Yuriev)
3872c0ab74
mdbx: update ChangeLog.
2022-04-08 01:01:01 +03:00
Леонид Юрьев (Leonid Yuriev)
d71b293de5
mdbx: fix spelling.
2022-04-08 01:00:58 +03:00
Леонид Юрьев (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