Leonid Yuriev
415cb5f886
mdbx: refactor me_dbgeo usage and osal-mmap/mresize().
...
Change-Id: I1f29c953abcbd4f2bab7ba52e7dd9da85ea48354
2019-11-04 00:22:13 +03:00
Leonid Yuriev
b4729bd1d6
mdbx: minor refine pgno_align2os_bytes() usage.
...
Change-Id: I4b83792c298aaa4c3ac5f412489a31f639f6d016
2019-11-04 00:22:13 +03:00
Leonid Yuriev
d869e20941
mdbx-chk: don't treat mm_geo.current < dxbfile_pages
as an error
...
This it is valid usual case on Windows, since windows can't shrinking a
mapped file. So we shouldn't see an error while checking such files on Linux.
Change-Id: I830c236c9b2fc1eb21768fceb24e67b9486c0795
2019-11-04 00:22:13 +03:00
Leonid Yuriev
b274c4a730
mdbx: fix to avoid ERROR_USER_MAPPED_FILE on Windows (minor race condition).
2019-11-04 00:22:13 +03:00
Leonid Yuriev
4ee3bc8be9
mdbx-ci: fix log-artifacts path for AppVeyor.
...
Change-Id: Iba58c1812c16e92f7198e02529f976912956db88
2019-11-04 00:22:13 +03:00
Leonid Yuriev
b4a5728455
mdbx: rework readahead management.
...
Change-Id: Ic1e2f3f5bd7fb2e9fd8d5820816e3d2def6ec1b3
2019-11-04 00:22:13 +03:00
Leonid Yuriev
9c89e7c739
mdbx: refine discarding of unused pages (MADV_FREE/MADV_REMOVE/MADV_DONTNEED).
...
Change-Id: I657eb7ef9060214d6ed3d75a2deeebc9ff3df5f5
2019-11-04 00:22:13 +03:00
Leonid Yuriev
40f31ea936
mdbx: add atomic_yield().
...
Change-Id: I0c3be400a880fd97bf1c254fd70a242982aac3f8
2019-11-04 00:22:13 +03:00
Leonid Yuriev
3ee269ddb6
mdbx: support for txnid of the last modification for sub-dbs/kv-spaces.
...
Change-Id: Ifb6684df57608cda88aa9134b275f442358ff46d
2019-11-04 00:22:09 +03:00
Leonid Yuriev
64ecfe171a
mdbx-ci: remove sh4-linux-gnu-gcc and mips64-linux-gnuabi64-gcc from cross-qemu blacklist.
...
Change-Id: I3b474f2e0da6ec2c3b8b50e3dd0ccd0534a5503a
2019-10-26 01:15:40 +03:00
Leonid Yuriev
84bff89eb1
mdbx: conform to and use -Wpedantic
.
...
Change-Id: I3056af7ae53c5a7c3ecbfe828ab1d5ee94c2bc26
2019-10-26 00:02:28 +03:00
Leonid Yuriev
c694325ab7
mdbx: fix minor warnings.
...
Change-Id: Iaa614a7d4325d3de6d863c20020c62954da7a1bf
2019-10-25 23:09:23 +03:00
Leonid Yuriev
a0ec89e468
mdbx: fix check-for-unique for the case when more than one new database are opening (i.e. with creation of LCK-files).
...
Change-Id: If712e1ead2e0cdfd72a115bd442d613a8d730839
2019-10-25 21:05:44 +03:00
Leonid Yuriev
42f8154c39
mdbx-cmake: rename MDBX_USE_VALGRIND option.
...
Change-Id: I985befb6c60e8a8c8db1b5d9dd085eb4645b038b
2019-10-25 08:10:15 +03:00
Leonid Yuriev
b905dea2ee
mdbx: fix Coverity warning (insignificant).
...
Change-Id: I046b0e7d5b16f6f1b91dac4d96616dbcd7c601d2
2019-10-25 08:08:24 +03:00
cryptozoidberg
edf5ddad4f
mdbx: get rid of macro redefinition warnings under MSVC.
...
This resolves https://github.com/leo-yuriev/libmdbx/pull/63
Change-Id: Id5ca071fe3060b8d508a28fd48ae13430a7e78a8
2019-10-24 22:15:28 +03:00
Leonid Yuriev
8de8072078
mdbx: minor refine options and build-info.
...
Change-Id: Iadabd8524991c10e76c0d38e4eef10c65224906e
2019-10-24 22:12:14 +03:00
Leonid Yuriev
7b2034c699
mdbx-ci: extend build-matrix for AppVeyour.
...
Change-Id: Ifd78c2449019dcac1ecb1449e847bc3be7362761
2019-10-24 22:12:14 +03:00
Leonid Yuriev
81fd0beb1a
mdbx: rework/fix unaligned access.
...
Change-Id: Ib0208e78786ac84551384ed57ac580fe0717840e
2019-10-24 22:12:14 +03:00
Leonid Yuriev
b7d27c1b36
mdbx: rework internals for using C99 flexible array member
(preparation for -fsanitize=undefined).
...
Change-Id: I0d1836d6108ef379c43231720ef703ff69fc426d
2019-10-24 22:12:14 +03:00
Leonid Yuriev
70350bad81
mdbx-cmake: require C99 or use C11 when available.
...
Change-Id: I241e8c38232750efb537a0b581f822540f207cdc
2019-10-24 22:12:14 +03:00
Leonid Yuriev
83a0c31b35
mdbx: converts macros to inline functions, rework page_fill_enough() and thresholds.
...
Change-Id: I18ff12bdcafac37cc73b6228788ce5bbc752773f
2019-10-24 22:12:14 +03:00
Leonid Yuriev
d24df41a67
mdbx-cmake: enable MSVC 2015.
2019-10-24 11:59:02 +03:00
Leonid Yuriev
ed515d4642
mdbx: fix static library build on Windows.
2019-10-24 11:51:25 +03:00
Leonid Yuriev
411ed3e578
mdbx: fix Coverity warnings (minor).
...
Change-Id: I8636560583c11eeaa6d37ba9f7f66e1afc2232da
2019-10-21 11:46:17 +03:00
Leonid Yuriev
0137d1f303
mdbx: alter Valgrind suppressions.
...
Change-Id: Ia662fe80eb22efb98a63acdf390e5e03cc5953b2
2019-10-21 10:00:55 +03:00
Leonid Yuriev
efa855b497
mdbx: drop unused dpl_mark4removal().
...
Change-Id: I23dcbbad8b0fc4691a755125c2e58fa9b529423b
2019-10-21 10:00:28 +03:00
Leonid Yuriev
2eab9c2957
mdbx: refine/optimize list-related loops.
...
Change-Id: I15b2305d1400819fdc1ae0ad306df70bc5f20388
2019-10-21 07:50:11 +03:00
Leonid Yuriev
72f2a315c4
mdbx-test: don't filter lib's output by test's log-level.
...
Change-Id: Ieb45a532aee9b2a3d8ef11eb315b7eb01c1c0ef1
2019-10-21 07:50:11 +03:00
Leonid Yuriev
e6462dfe58
mdbx: minor refine mdbx_chk
output.
...
Change-Id: I2c2560910d2908afe0f4a3aee0dc465ca7e24030
2019-10-21 07:50:11 +03:00
Leonid Yuriev
f5d75a85b0
mdbx: minor refine setup_dxb() logging.
...
Change-Id: I985ded5fce6d829563591d9b5ddb5b172100e43d
2019-10-21 07:50:11 +03:00
Leonid Yuriev
081603e6bc
mdbx: alter update-gc for intermediate refunding of pages.
...
Change-Id: I551e94ed897c04af09f59a3fd96c694ef243d3a5
2019-10-21 07:50:11 +03:00
Leonid Yuriev
7681132704
mdbx-test: more probability of zero-window (i.e. flipcoin_x4) for ttl
and nested
testcases.
...
Change-Id: Ida539a080f86e046c7f10320b504d58219560c3d
2019-10-21 07:50:11 +03:00
Leonid Yuriev
4e386be914
mdbx: don't hold dbi-lock during tree deletion inside mdbx_drop().
...
Change-Id: I29824271ba09a4443196bc1207279a257a8e26c0
2019-10-21 07:50:11 +03:00
Leonid Yuriev
b690415f44
mdbx-build: add test
make-target.
...
Change-Id: Iffb3a0ce17622b51aca2649bcb4cb245e1546eea
2019-10-21 07:50:11 +03:00
Leonid Yuriev
15ce797863
mdbx: refine/optimize mdbx_page_alloc().
...
Change-Id: Iebbb8a611a82a379cf23b683bb21c9b6626ea9a5
2019-10-21 07:50:11 +03:00
Leonid Yuriev
36477ef408
mdbx: minor refine/optimize mdbx_page_new().
...
Change-Id: Ie1b227cbeceec8b1fc64630b8d1c12210d98dc20
2019-10-21 07:50:11 +03:00
Leonid Yuriev
7878b2e31d
mdbx-test: less probability for aborting nested transactions in nested
testcase.
...
Change-Id: Idf12b69313af7f11a0c9c457942d7a442e37e7b4
2019-10-21 07:50:11 +03:00
Leonid Yuriev
b11d655173
mdbx: refine/optimize update-gc (remove anything in our spill list from parent's dirty list).
...
Change-Id: I945bdbc1431bac39173121210e1a08787e027b0c
2019-10-21 07:50:11 +03:00
Leonid Yuriev
781a814864
mdbx: refine/optimize update-gc (filter-out list of dirty-pages from loose-pages).
...
Change-Id: I73caa11e8a6378c307eb2e0a8199d0428dc14e05
2019-10-21 07:50:11 +03:00
Leonid Yuriev
363841caf8
mdbx: rework/optimize pages refunding.
...
Change-Id: I9315ea9187eaff4572536ab9c895fb6995eebd94
2019-10-21 07:50:11 +03:00
Leonid Yuriev
7f0dd35702
mdbx: more checking in mdbx_dirtylist_check().
...
Change-Id: I4bf5b3ee03a816f34000586b760fd7b01994d3aa
2019-10-21 07:50:11 +03:00
Leonid Yuriev
5c54566c5c
mdbx: rework/fix retire-to-parent-txn pages (fix LMDB bug).
...
Change-Id: I81c3d48f19b4c7e62d77cfecc167235374f66402
2019-10-21 07:50:11 +03:00
Leonid Yuriev
659933d0c9
mdbx: rework mdbx_page_flush(), providing flush_begin & flush_end.
...
Change-Id: Id7366d427d204b444ab76c880ad1c0757a7de94e
2019-10-21 07:50:11 +03:00
Leonid Yuriev
6a01955810
mdbx: rework atomic-ops & safe64_reset_compare() to avoid use libatomic on true-32-bit arches.
...
Change-Id: I27aa8dc9505a469e35a7fe06660e9944e4c1974c
2019-10-19 00:16:48 +03:00
Leonid Yuriev
73b60d991a
mdbx-build: add -Wno-tautological-compare.
...
Change-Id: I8b0be4c9dfb8864cb50759d08e7d2700ed7b8c36
2019-10-17 00:37:59 +03:00
Leonid Yuriev
a907109cce
mdbx: fix MDBX_node for big-endian.
...
Change-Id: I436fc01e379908df07bcb829f0d9cf6999c8c133
2019-10-16 14:22:38 +03:00
Leonid Yuriev
0f3994d506
mdbx: fix/refine mdbx_is_dirty().
...
Change-Id: I70bb46b47e7c313fdfd0b130ee55b82dd75e92d2
2019-10-16 11:34:33 +03:00
Leonid Yuriev
b84bb4f805
mdbx: add MDBX_TXNID_STEP macro for debugging.
...
Change-Id: I4768c8b39f3317ec3a5da8627d736f2f28bf0d51
2019-10-15 23:53:00 +03:00
Leonid Yuriev
8467552f0b
mdbx: fix internal audit.
...
Change-Id: I9b3360216bbfc1a1a6f6052aca78331b01dc80ec
2019-10-15 23:52:17 +03:00