Commit Graph

2441 Commits

Author SHA1 Message Date
Leonid Yuriev
78e592579a mdbx: refine update_gc() for small pages with huge transactions.
Change-Id: I66080e11a780a6a711691918179bc21d9a121347
2020-05-17 19:16:35 +03:00
Leonid Yuriev
d3e609d7ff mdbx: simplify page-merge for LEAF2.
Change-Id: I25ad34f02b86b47562fc3c74f5454432f687cbde
2020-05-17 19:16:19 +03:00
Leonid Yuriev
5e2067decd mdbx-tools: use MDBX_ACCEDE to open DBI with custom comparators. 2020-05-15 22:03:29 +03:00
Leonid Yuriev
cefbe02130 mdbx-test: add dump-load.sh script. 2020-05-15 22:03:29 +03:00
Leonid Yuriev
6fa2748fc7 mdbx-tools: refine mdbx_stat. 2020-05-15 22:03:29 +03:00
Leonid Yuriev
efe4fd2cc9 mdbx-tools: use equal-or-greater comparator for dont-check-ordering mode. 2020-05-15 22:03:29 +03:00
Leonid Yuriev
3f0d2a6ac2 mdbx-tools: extends dump/load to support all mdbx attributes.
Change-Id: I04772ce0083c46b70f5342e92c7509c9a425724d
2020-05-15 22:03:29 +03:00
Leonid Yuriev
8f31aad0fb mdbx: use MAX_TXN internally (cosmetics).
Change-Id: Ic8171dbfa8bb32272e46e939223316f6182d3a7a
2020-05-15 18:13:10 +03:00
Leonid Yuriev
463a8af35b mdbx: copy unaligned keys/values instead of return error to avoid break compatibility.
Change-Id: I2f95674a3836568a5c51155ca70da0683c50b424
2020-05-15 11:30:35 +03:00
Leonid Yuriev
0ee51f816e mdbx-test: revert removal of the vector[...] pattern to avoid issues from old Valgrind.
Change-Id: Idb16591254cf7f89b5cb9971aef7bb107736ca80
2020-05-15 11:30:35 +03:00
Leonid Yuriev
c2c74075e7 mdbx: fix Valgrind minor warning with MDBX_DEBUG > 1.
Change-Id: Idb93c6a3843e76071a55cbd6c34ddd22541c77d3
2020-05-15 11:30:35 +03:00
Leonid Yuriev
68241762e7 mdbx-test: implement cleanup(). 2020-05-15 11:30:35 +03:00
Leonid Yuriev
c6edd6fb91 mdbx: exclude MDBX_NOSUBDIR from persistent flags. 2020-05-15 11:30:35 +03:00
Leonid Yuriev
231a34b627 mdbx-make: add --table=+data.integer --keygen.split=29 to test-targets. 2020-05-15 11:30:35 +03:00
Leonid Yuriev
a2c534b391 mdbx-test: refine long_stochastic script.
Change-Id: Ic2aecfcb7e7f9b7233c7e72b6a34fb565fab6922
2020-05-15 11:30:35 +03:00
Leonid Yuriev
42dd0219e4 mdbx: minor fix/refine comments. 2020-05-15 11:30:35 +03:00
Leonid Yuriev
e28d223d42 mdbx: fix MDBX_NODUPDATA handling for key-value data.
More for https://github.com/erthink/libmdbx/issues/99
in continue to 9428efd2ae

Change-Id: I56050ddf5e56807a11d8613780c3ba76cc16d324
2020-05-15 11:30:35 +03:00
Leonid Yuriev
8c8c86038a mdbx: fix unsigned-to-ptrdiff casting inside estimate().
Fixup after a238179c23

Change-Id: I316e4aa1f41462fd0017f8e0a7f6d6e82aa4f3db
2020-05-15 11:30:35 +03:00
Leonid Yuriev
e6b48b613a mdbx: more checking for MDBX_DEBUG.
Change-Id: Ie6bedda942bc5623e5d7cee5d2011e41009ea3d9
2020-05-15 11:30:35 +03:00
Leonid Yuriev
f6fe3b44de mdbx: fix fetching of first/lower key in case starting from LEAF2-page during page merge.
More for b3f375c57f
2020-05-15 11:30:35 +03:00
Leonid Yuriev
57d76d1f7a mdbx: checking the order of keys on all pages during the audit (squashed). 2020-05-15 11:29:23 +03:00
Leonid Yuriev
30bb2363e1 mdbx: use comparators instead of is_samedata(). 2020-05-15 08:59:10 +03:00
Leonid Yuriev
b7fb9bdeb1 mdbx: fix mdbx_xcursor_init1() for prev created databases. 2020-05-15 08:59:10 +03:00
Leonid Yuriev
3afa4498fe mdbx-doc: note about ntdll.lib for Windows.
Related to https://github.com/erthink/libmdbx/issues/101
2020-05-15 08:59:10 +03:00
Leonid Yuriev
0c62355fb5 mdbx-make: add ntdll for Windows. 2020-05-15 08:59:10 +03:00
Leonid Yuriev
d986d09b7b mdbx: rework min/max length checking for keys & values (squashed). 2020-05-15 08:59:03 +03:00
Leonid Yuriev
9736a36efb mdbx: add branch-less flags_db2sub(). 2020-05-11 02:03:55 +03:00
Leonid Yuriev
e4ce115876 mdbx: fix MSVC warnings (minor).
Change-Id: I614ee9ec1c21586fbe08c6cedb395ac57a81914f
2020-05-10 03:56:25 +03:00
Leonid Yuriev
5b4b3fa9ea mdbx-windows: fix MDBX_AVOID_CRT option & ntdll.def distribution.
Resolve https://github.com/erthink/libmdbx/issues/100

Change-Id: I18ab055e79e249fca856353b2585739c88e01758
2020-05-10 03:41:28 +03:00
Leonid Yuriev
a238179c23 mdbx: rename/reorganize internal fields for clarity.
Change-Id: I9b23a8ca271f30ebedda9cd8d21094b4797f8bb3
2020-05-09 20:00:31 +03:00
Leonid Yuriev
8ee3c6ddb0 mdbx: minor fix return MDBX_EBADSIGN.
Change-Id: Ia0da8b4c2a5f0776688c92ad50433eed5e83b73c
2020-05-09 20:00:25 +03:00
Leonid Yuriev
9428efd2ae mdbx: avoid upsertion (early exit) the same key-value data.
Resolve https://github.com/erthink/libmdbx/issues/99

Change-Id: I6aac66d6cb6818951e29bc8a3626c342d6137151
2020-05-09 03:25:20 +03:00
Leonid Yuriev
86dad2d727 mdbx: drop obsolete/unused mn_hi & mn_lo.
Change-Id: Ie0099c5afa66ccb679b124f3feb095a364519edc
2020-05-09 03:25:20 +03:00
Leonid Yuriev
db635c9fbb mdbx: fix/don't clean env-signature if open failed. 2020-05-09 02:48:56 +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
1cab079d6f mdbx-cmake: one more fix fetch_version macro.
Change-Id: Ic1cd4d2005149305ce320171f13edf3416e0b8f3
2020-05-09 02:46:35 +03:00
Leonid Yuriev
83cf4cd3d5 mdbx: refine/fix mdbx_dbi_open_ex() to safe concurrently opening the same handle from difference threads.
Change-Id: Ib01b6015bbb28eb2777f9206d6a5ac2cf9c2575f
2020-05-09 02:46:35 +03:00
Leonid Yuriev
c99f258a47 mdbx-make: don't use clang-format < 10 to avoid misformating.
Change-Id: I58d3b5071011a106b1801a1bd966f5c2d8354fcb
2020-05-09 02:46:35 +03:00
Leonid Yuriev
bc9c5bad5d mdbx: fix/update ci-status badges.
Change-Id: I704e79892317feb43a2cce85b8cf5f5b9b5f7ca5
2020-05-04 18:55:53 +03:00
Leonid Yuriev
051d9e6f91 mdbx-test: remote obsolete vector[...] pattern from Valgrind's suppressions.
Related to https://github.com/erthink/libmdbx/issues/82

Change-Id: I603b9ffe55692af430b2dcbc577a9e7055fce3d5
2020-05-03 20:44:49 +03:00
Leonid Yuriev
6a38111528 mdbx-make: rename & reorganize 'test*' targets.
Change-Id: I16f073d78e16dc898308e394465cb204b87f2217
2020-05-03 20:33:47 +03:00
Leonid Yuriev
ebd47557f0 mdbx-make: refine 'test-valgrind' target.
Change-Id: I2de34502157476a1bc516d125c9fdf40c987f77f
2020-05-03 20:33:47 +03:00
Leonid Yuriev
5819f7a468 mdbx-test: update suppressions for modern Valgrind.
Related to https://github.com/erthink/libmdbx/issues/82

Change-Id: I6079a40274349516d285c85b3c766d6029ac8826
2020-05-03 20:31:02 +03:00
Leonid Yuriev
2d75e9b5ba mdbx-make: add check-analyzer check-ubsan check-asan check-leak targets. 2020-05-03 02:07:21 +03:00
Leonid Yuriev
f11607dfa6 mdbx: minor fix/workaround to avoid UBSAN traps for memcpy(ptr, nullptr, 0). 2020-05-03 01:48:12 +03:00
Leonid Yuriev
8c29c3711d mdbx-test: mdbx: avoid gcc-anylyzer false-positive warnings. 2020-05-02 22:38:53 +03:00
Leonid Yuriev
175c361018 mdbx: avoid gcc-anylyzer false-positive warnings. 2020-05-02 22:38:53 +03:00
Leonid Yuriev
375fbd9419 mdbx: update/sync travis-ci config.
Change-Id: I37c5f3702163ba41558f0f0e7ec8a2bb28932551
2020-05-02 20:52:53 +03:00
Leonid Yuriev
cc4e0f2642 mdbx-cmake: reformat install section.
Change-Id: Id06fe24d46b5afade52dedbda747a7c8fb631263
2020-05-01 21:56:10 +03:00
Leonid Yuriev
20d74dad23 mdbx-cmake: fix fetch_version macro.
Change-Id: Ib1afab6f069da4400cd1103c964c23cc0a0ea03d
2020-05-01 21:20:21 +03:00