Леонид Юрьев (Leonid Yuriev)
c05a3b7bb9
mdbx: minor refine node_add()
.
2022-08-07 12:29:50 +03:00
Леонид Юрьев (Leonid Yuriev)
1215bda188
mdbx: minor refine/speedup node_del()
.
2022-08-07 12:29:50 +03:00
Леонид Юрьев (Leonid Yuriev)
0dd4532473
mdbx: reduce gap/backlog of linear scan inside dpl_search()
.
2022-08-07 12:29:50 +03:00
Леонид Юрьев (Leonid Yuriev)
eac3d0499f
mdbx: minor refine/speedup dpl_sort_slowpath()
.
2022-08-07 12:29:50 +03:00
Леонид Юрьев (Leonid Yuriev)
a11c045f1e
mdbx: using expect_with_probability()
macro.
2022-08-07 12:28:35 +03:00
Леонид Юрьев (Leonid Yuriev)
c0f8ecd6f2
mdbx: add expect_with_probability()
macro.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
8404cc1fd7
mdbx: reduce sorting-network to 8.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
654b020bc7
mdbx: add __restrict
to quicksort internal pointers.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
77635116c6
mdbx: enable solib profiling with -pg
and gprof
with GLIBC >= 2.37.
...
However such profiling requires https://sourceware.org/bugzilla/show_bug.cgi?id=29438 to be fixed.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
a44eb1accb
mdbx-cmake: add MDBX_MANAGE_BUILD_FLAGS
build-time option.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
c06d072daf
mdbx-make: support for MDBX_BUILD_CXX=YES/NO
option.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
d28110373e
mdbx: add simple SORT_CMP_SWAP()
macro for MDBX_HAVE_CMOV=0
case.
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
480dc2531e
mdbx: ×4 accelerated scan4seq()
(SSE2 only for now).
2022-08-07 11:56:23 +03:00
Леонид Юрьев (Leonid Yuriev)
f0a46da6a5
mdbx-make: using ldd
to check used dso.
2022-08-06 19:42:38 +03:00
Леонид Юрьев (Leonid Yuriev)
06734bf8ff
mdbx: don't check owner for finished transactions.
2022-08-06 13:19:49 +03:00
Леонид Юрьев (Leonid Yuriev)
c37fb50532
mdbx: more for __amd64__
macro.
2022-08-04 13:54:07 +03:00
Леонид Юрьев (Leonid Yuriev)
9eb6953778
mdbx: fix minor typo.
2022-08-04 13:54:07 +03:00
Леонид Юрьев (Leonid Yuriev)
bfac10418f
mdbx-make: preserve MDBX_BUILD_OPTION
for assertion-targets.
2022-08-04 13:54:07 +03:00
Леонид Юрьев (Leonid Yuriev)
268b33cbf7
mdbx: simplify/speedup scan4seq()
.
2022-08-04 13:54:07 +03:00
Леонид Юрьев (Leonid Yuriev)
e444c70cb7
mdbx: release v0.11.9
...
The stable bugfix release.
It is planned that this will be the last release of the v0.11 branch.
Acknowledgements:
-----------------
- [Alex Sharov](https://github.com/AskAlexSharov ) and Erigon team for reporting and testing.
- [Andrew Ashikhmin](https://gitflic.ru/user/yperbasis ) for contributing.
New:
----
- Ability to customise `MDBX_LOCK_SUFFIX`, `MDBX_DATANAME`, `MDBX_LOCKNAME` just by predefine ones during build.
- Added to [`mdbx::env_managed`](https://libmdbx.dqdkfa.ru/group__cxx__api.html#classmdbx_1_1env__managed )'s methods a few overloads with `const char* pathname` parameter (C++ API).
Fixes:
------
- Fixed hang copy-with-compactification of a corrupted DB
or in case the volume of output pages is a multiple of `MDBX_ENVCOPY_WRITEBUF`.
- Fixed standalone non-CMake build on MacOS (`#include AvailabilityMacros.h>`).
- Fixed unexpected `MDBX_PAGE_FULL` error in rare cases with large database page sizes.
Minors:
-------
- Minor fixes Doxygen references, comments, descriptions, etc.
- Fixed copy&paste typo inside `meta_checktxnid()`.
- Minor fix `meta_checktxnid()` to avoid assertion in debug mode.
- Minor fix `mdbx_env_set_geometry()` to avoid returning `EINVAL` in particular rare cases.
- Minor refine/fix batch-get testcase for large page size.
- Added `--pagesize NN` option to long-stotastic test script.
- Updated Valgrind-suppressions file for modern GCC.
- Fixed `has no symbols` warning from Apple's ranlib.
18 files changed, 318 insertions(+), 178 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2022-08-02 12:00:30 +03:00
Леонид Юрьев (Leonid Yuriev)
a441c9ffb1
mdbx: logging pgno of invalid root pages inside meta_checktxnid()
.
2022-08-01 14:44:33 +03:00
Леонид Юрьев (Leonid Yuriev)
71c3d20c01
mdbx: skip extra cycle during search of page sequence.
2022-08-01 00:00:14 +03:00
Леонид Юрьев (Leonid Yuriev)
75d19b5806
mdbx: minor refine/speedup pnl_check()
.
2022-07-27 21:08:54 +03:00
Леонид Юрьев (Leonid Yuriev)
dc39ecfb9f
mdbx: auto-coalesce of GC's records with less overhead.
2022-07-27 21:08:54 +03:00
Леонид Юрьев (Leonid Yuriev)
47d5fa7fd4
mdbx: refine/speedup pnl_merge()
.
2022-07-27 21:08:54 +03:00
Леонид Юрьев (Leonid Yuriev)
fe6c6b2068
mdbx: add MDBX_HAVE_CMOV
macro/option.
2022-07-27 21:08:54 +03:00
Леонид Юрьев (Leonid Yuriev)
262fafd00e
mdbx: fix unused
warning for case MDBX_ENABLE_PGOP_STAT=0
.
2022-07-27 00:03:27 +03:00
Леонид Юрьев (Leonid Yuriev)
289636834c
mdbx: fix unused
warning for case MDBX_DISABLE_VALIDATION
.
2022-07-27 00:03:27 +03:00
Леонид Юрьев (Leonid Yuriev)
c4dd83fbdf
mdbx: minor refine page_split()
.
2022-07-27 00:03:22 +03:00
Леонид Юрьев (Leonid Yuriev)
cc51a7f76e
mdbx: minor refine attributes-related macros for LCC.
2022-07-23 12:15:55 +03:00
Леонид Юрьев (Leonid Yuriev)
a82f59a998
mdbx: minor refine MDBX_UNALIGNED_OK
.
2022-07-23 12:15:19 +03:00
Леонид Юрьев (Leonid Yuriev)
08e936a809
mdbx: re-verify atomic-ops and remove mo_SequentialConsistency
.
2022-07-23 12:15:19 +03:00
Леонид Юрьев (Leonid Yuriev)
5e565433f7
mdbx: merge branch master
into devel
.
2022-07-23 11:56:17 +03:00
Леонид Юрьев (Leonid Yuriev)
6a1bf6035f
mdbx: update ChangeLog.
2022-07-23 11:03:27 +03:00
Леонид Юрьев (Leonid Yuriev)
e963375302
mdbx: fix unexpected MDBX_PAGE_FULL
in rare cases with large page-size.
2022-07-21 17:52:08 +03:00
yperbasis
0af84be269
Merged with fix_apple
2022-07-20 11:22:26 +00:00
yperbasis
23e7870e81
#include <AvailabilityMacros.h>
2022-07-19 18:35:19 +02:00
Леонид Юрьев (Leonid Yuriev)
fc53e57a64
mdbx-cmake: avoid has no symbols
warning from Apple's ranlib.
2022-07-13 22:11:28 +03:00
Леонид Юрьев (Leonid Yuriev)
69b495d559
mdbx++: add to mdbx::env
overloads with const char*
pathname parameter.
2022-07-13 21:45:23 +03:00
Леонид Юрьев (Leonid Yuriev)
0018164fef
mdbx: fix wrong }
oops-like typo.
...
This is a `devel`-only 3-days old regression since a4a35ce9cb
.
2022-07-11 20:29:33 +03:00
Леонид Юрьев (Leonid Yuriev)
ac4b6d7121
mdbx-test: always engage MDBX_DBG_DUMP.
2022-07-11 20:29:18 +03:00
Леонид Юрьев (Leonid Yuriev)
5ccfb5f30a
mdbx-tools: use MDBX_DBG_DUMP
, MDBX_DBG_ASSERT
, MDBX_DBG_AUDIT
inside mdbx_chk
.
2022-07-11 20:28:07 +03:00
Леонид Юрьев (Leonid Yuriev)
149e708830
mdbx: rename MDBX_CACHE_METAPTR
build-time option.
2022-07-10 10:05:39 +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)
194f2f45d2
mdbx: refine/fix using nested cursor's db inside copy-with-compactification.
2022-07-09 18:07:54 +03:00
Леонид Юрьев (Leonid Yuriev)
b29c15f919
mdbx: merge branch 'master' into devel
.
2022-07-09 17:34:25 +03:00
Леонид Юрьев (Leonid Yuriev)
e8dd208e96
mdbx: more cursor-checking for audit-without-debug.
2022-07-09 16:12:41 +03:00
Леонид Юрьев (Leonid Yuriev)
9bbf09b5c4
mdbx: minor update README for the locations of a source code.
2022-07-09 14:54:25 +03:00
Леонид Юрьев (Leonid Yuriev)
9d9df11509
mdbx: update ChangeLog.
2022-07-09 14:11:36 +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