2062 Commits

Author SHA1 Message Date
Jens Alfke
f414876e99 mdbx: fixed AddressSanitizer errors after closing db.
Unpoison memory before unmapping, to avoid leaving dangling poisoned
address space. This caused Clang AddressSanitizer false errors after
database was closed.

More for https://github.com/erthink/libmdbx/issues/73

Close https://github.com/erthink/libmdbx/pull/93

Change-Id: I9cf19a06521330a90a62ed15317e1f966f0bd56f
2020-04-15 02:29:05 +03:00
Leonid Yuriev
1b451cce06 mdbx: minor README update.
Change-Id: I8975d515ffff0ccfd6adc5d76908ee96d89b230d
2020-04-14 14:57:58 +03:00
Leonid Yuriev
ab2c98e41c mdbx: support for Android/Bionic.
Change-Id: Ia6a4d8a7848ffe3e488b4a92c9ec53c61c78a9bb
2020-04-13 23:36:56 +03:00
Leonid Yuriev
595482ca57 mdbx: fix typo (extra closing parenthesis).
Change-Id: Icae740a640ab59dedc7608a725cc24623dba62bd
2020-04-13 23:35:08 +03:00
Leonid Yuriev
0986cb9379 mdbx-posix: fix feature-testing for PTHREAD_MUTEX_ROBUST.
Change-Id: I16f008b8448a70d4145ba2bcfe22b3326c8a0e21
2020-04-13 22:46:55 +03:00
Leonid Yuriev
abf38e97cc mdbx: minor fix prev commit.
More for https://github.com/erthink/libmdbx/issues/97

Change-Id: I09ffe3430aa07bf5b01d9ad991affa004bb998a6
2020-04-11 20:51:24 +03:00
Leonid Yuriev
f89c3eda17 mdbx: crutch for WSL.
Fixes https://github.com/erthink/libmdbx/issues/97

Change-Id: Ia863ffc8cd939b1af65f21ab0c5c8197abf4e793
2020-04-11 20:33:36 +03:00
Leonid Yuriev
5a81413f17 mdbx-posix: fix comment typo.
Change-Id: I4573926a50ba392222dc738be3a7b9b3fabbb368
2020-04-11 17:21:36 +03:00
Leonid Yuriev
c590eb656f mdbx: fix null-deref in an ASAN-enabled build while opening DB with error.
More for https://github.com/erthink/libmdbx/issues/95

Change-Id: I6250fe7b0fbbcae497c2b5c1da9b4e9f78ecf0f0
2020-04-11 14:55:03 +03:00
Leonid Yuriev
17d7d48281 mdbx: fix null-deref in an ASAN-enabled build while opening DB with MDBX_RDONLY.
Fixes https://github.com/erthink/libmdbx/issues/95

Change-Id: I1c000d3a456897f73367a590ef9fbda8ae90391c
2020-04-11 03:06:05 +03:00
Leonid Yuriev
9b94e45e25 mdbx-make: add CFLAGS_EXTRA for convenience.
Change-Id: I838f5b60cf9479e230a74da1bf80d30a8a7b437e
2020-04-11 02:37:50 +03:00
Leonid Yuriev
129597bbed mdbx: update iOS note in the README.
More for https://github.com/erthink/libmdbx/issues/92

Change-Id: I19700ea02c42daed05de699941200fc527a5c966
2020-04-10 21:44:06 +03:00
Jens Alfke
48b6f76159
mdbx: Don't include <sys/vmmeter.h> on Apple platforms (#94)
A simpler fix for the issue of this header being missing on iOS.
It's not actually needed at all on Mach-based OSs.

Fixes https://github.com/erthink/libmdbx/issues/92
2020-04-10 21:40:58 +03:00
Leonid Yuriev
19454f26e6 mdbx-cmake: more for iOS.
Change-Id: Iebc6fafe23b3c39462bbf497e60148daffd519a9
2020-04-08 22:02:17 +03:00
Leonid Yuriev
99f07f5054 mdbx: add iOS notes to README.
Change-Id: Ia46a43376370a73b179dbc4ab65e43956ee8c43a
2020-04-08 02:05:18 +03:00
Leonid Yuriev
469c045aa9 cmake-dist: add options-support to cmake.
Related to https://github.com/erthink/libmdbx/issues/86

Change-Id: I9a0f2e0250608339373f34a55dfa2db88eed0f8c
2020-04-07 23:10:30 +03:00
Leonid Yuriev
5a94808c27 mdbx-cmake: add workaround for iOS.
Related to https://github.com/erthink/libmdbx/issues/92

Change-Id: Ie1f5aff110d807e3bee729e999bdce9f9125ee6e
2020-04-07 23:10:12 +03:00
Leonid Yuriev
81dca1f7e9 mdbx-cmake: add MDBX_BUILD_TOOLS option.
Change-Id: Ib6329fdea66dd52720021b80a6fecdaa078ceb2b
2020-04-07 23:06:18 +03:00
Leonid Yuriev
d752de0ee0 mdbx-cmake: sync cmake-compiler module with erthink upstream.
Change-Id: I4eeeb2bc2800bfb44c915533843c59438733ff4b
2020-04-07 22:58:55 +03:00
Leonid Yuriev
ed6863851e mdbx: crutch for iOS.
Workaround for https://github.com/erthink/libmdbx/issues/92

Change-Id: Id8ed900d1310212ae0edd4bf6ab11bdba9c106a1
2020-04-07 17:35:49 +03:00
Leonid Yuriev
921f43da6f mdbx: fix ceiling/flooring madvise-edge inside mdbx_sync_locked().
Fixes https://github.com/erthink/libmdbx/issues/91

Change-Id: I17da72d9a53a2c7453d81488bd3297063de0b7d1
2020-04-07 03:54:48 +03:00
Leonid Yuriev
94e58d7acc mdbx: more explicit casting to size_t (paranoia).
Change-Id: I1c65943cdcdd77cc12bc27d9ced19765ea7911bb
2020-04-07 03:48:23 +03:00
Leonid Yuriev
bf0cff9a8a mdbx: add & use floor_powerof2().
Change-Id: Ib5be7d5a68dc7944e208d75094050383ccdfa6d0
2020-04-07 03:48:20 +03:00
Leonid Yuriev
a846fb0d21 mdbx: rename roundup_powerof2() to ceil_powerof2().
Change-Id: Ie22f10ffa6637ef74f2c705fad5fc45a8d19d22e
2020-04-07 03:45:11 +03:00
Leonid Yuriev
4ad1c2daed mdbx: minor fix/workaround to avoid GCC 10.x pedantic warnings.
Change-Id: If67c1ae593ad2c39130054475c37321dca761f5b
2020-04-07 01:54:58 +03:00
Leonid Yuriev
d37d3b54f4 mdbx-make: refine install/uninstall targets.
Change-Id: Id8390b6ff462f55237534a06a92d03b8666b518f
2020-04-07 00:36:56 +03:00
Leo Yuriev
cf7cce9079 mdbx-make: workaround for non-GNU tar.
Related to https://github.com/erthink/libmdbx/issues/85#issuecomment-606490013
and https://github.com/erthink/libmdbx/issues/86

Change-Id: I9e7d08214dbaf214af29bb2d3ab2f9fd9b76f9fc
2020-04-04 17:40:13 +03:00
Leo Yuriev
3f7c9846e7 mdbx: use uintptr_t instead of size_t for pointer-wide values and types.
More for https://github.com/erthink/libmdbx/issues/88

Change-Id: Ic625096df3c09d0dd578c7b79aa302be35480699
2020-04-04 16:52:44 +03:00
Leo Yuriev
75de63dff1 mdbx: refine type-casting inside mdbx_thread_self() to avoid warning.
2 of 2 for https://github.com/erthink/libmdbx/issues/88

Change-Id: Ic4994141d23a5417b18f6b03a3e4038859fb9210
2020-04-04 16:52:42 +03:00
Leo Yuriev
089d7212e7 mdbx: fix mdbx_build_info for undefined flags case.
1 of 2 for https://github.com/erthink/libmdbx/issues/88

Change-Id: I079b329abe8f20793dc78c90ea55f874693dde43
2020-04-04 16:52:39 +03:00
Leo Yuriev
d329ea1fe0 mdbx-tools: fix txnid_t casting inside mdbx_stat.
Change-Id: I69799d8caca3e6692a433b2e62e7b2867b152b00
2020-04-04 16:01:05 +03:00
Leonid Yuriev
8f5ae79b51 mdbx: bump version to 0.7.x
Change-Id: I6cb06fbd7119eed086b54a9760db1e0edf5de07b
v0.7.0
2020-03-18 17:19:12 +03:00
Leonid Yuriev
86b1f2017a mdbx: add note about Wine limitations.
Change-Id: I0d09c6161f3ed8eacbbedbb9f274d81cd5cfdd2c
2020-03-18 17:19:12 +03:00
Leonid Yuriev
9b1cddf520 mdbx-doc: update Rust bindings info.
Resolves https://github.com/erthink/libmdbx/issues/85

Change-Id: I3df494eddeab6dab3dc8b82e5949e627917e3aca
2020-03-02 13:52:23 +03:00
Leonid Yuriev
251d34d6e6 mdbx-doc: more for custom comparators.
Change-Id: I3326c5bdedbbdb01b1865bff68aa7ba8bc7056cc
2020-03-02 13:50:33 +03:00
Leo Yuriev
8358dda7f1 mdbx-doc: add link to telegram group.
Change-Id: I6440939d3150af7dedbbcd0e855f3032c5229064
2020-02-29 00:57:22 +03:00
Leo Yuriev
76e29c21f1 mdbx: merge branch 'devel' (crutches for Wine).
Change-Id: I1779bc6987449e403216584cdd2846e910f34c8a
2020-02-28 19:05:47 +03:00
Leo Yuriev
56222db3ba mdbx-test: follow MDBX_UNABLE_EXTEND_MAPSIZE changes.
Change-Id: I3c0074db11e229c5a7aaac6a589a42c041666b17
2020-02-28 17:39:52 +03:00
Leo Yuriev
5072b45026 mdbx: rename MDBX_MAP_RESIZED to MDBX_UNABLE_EXTEND_MAPSIZE.
Change-Id: I22fbdb4f08fd7a6ae37da42e6827677ae8a8337b
2020-02-28 16:40:56 +03:00
Leo Yuriev
63449a44c5 mdbx-cmake: #if/#endif instead of cmake-conditions for posix/windows sources.
Change-Id: Ic95bd3ba345160cf1d68c79f11d6560d4c41cb2b
2020-02-28 15:51:12 +03:00
Leonid Yuriev
ecffc831fa mdbx-tools: avoids extra error messages "bad txn" from mdbx_chk when DB is corrupted.
Change-Id: I6b92aced83bcf7e0c8e5c7108ddcf60714c9b30c
2020-02-27 16:04:00 +03:00
Leonid Yuriev
6c76af5181 mdbx-doc: refine prev commit.
Change-Id: I3ec7544eeee5a2ebfa268d667a1724e8251e7e2e
2020-02-25 15:19:49 +03:00
Leonid Yuriev
061d3cc8fd mdbx-doc: clarify ACI for no-sync modes, reformat text.
Change-Id: I56b4f167eb334b4903d121f7cd6f33aa0b612dcd
2020-02-25 15:02:20 +03:00
Leonid Yuriev
6248b67f75 mdbx-windows: more for running under Wine.
Wine unable create mapped-view large tran secton size.

More for https://github.com/erthink/libmdbx/issues/83

Change-Id: I93e98d58a827c785f8257cd9cac387a333e59621
2020-02-24 20:46:36 +03:00
Leonid Yuriev
fbf55e17cb mdbx-windows: one more workaround for Wine.
SetFileInformationByHandle() is not implemented by Wine.

Change-Id: I61783c8d173397094cd6cbad7efc9d7aac57b470
002c:Call KERNEL32.SetFileInformationByHandle(00000060,00000006,0022f890,00000008) ret=127dd1b2
002c:fixme:file:SetFileInformationByHandle 0000000000000060, 6, 000000000022F890, 8
002c:Ret  KERNEL32.SetFileInformationByHandle() retval=00000000 ret=127dd1b2

Related to https://github.com/erthink/libmdbx/issues/83
2020-02-22 20:02:17 +03:00
Leonid Yuriev
289f2896d0 mdbx-windows: more for Wine.
Related to https://github.com/erthink/libmdbx/issues/83.

UnlockFile() cold return ERROR_LOCK_VIOLATION when file not locked, instead of ERROR_NOT_LOCKED.
Current versions of Wine seem to work correctly.

Change-Id: Ibc5bd4352184efc7f88705e7ae04d6656286a96e
2020-02-21 19:58:32 +03:00
Leonid Yuriev
4fed2d9fc0 mdbx-windows: minor workaround for MSVC "unresolved external symbol __except1 ..."
Workaround for MSVC error LNK2019: unresolved external symbol __except1 referenced in function __ftol3_except.
2020-02-19 16:31:25 +03:00
Leo Yuriev
9aa816dc73 mdbx-windows: using RegGetValueA() instead of wchar_t version.
Change-Id: I0848eaf2083985ae27fec605358329830b0733c2
2020-02-19 16:00:40 +03:00
Leo Yuriev
f750086bc1 mdbx-windows: rework workaround for Wine.
Resolves https://github.com/erthink/libmdbx/issues/83
in accordance with https://bugs.winehq.org/show_bug.cgi?id=48620

Change-Id: Ieb4385efdcd86c865184a783363cf6e90da14f61
2020-02-18 22:51:34 +03:00
Leonid Yuriev
bd3f234bce mdbx: update github repo address.
Change-Id: Ifa8bf0e09b297ba6f495dd8e04e5c67f6626d9cb
2020-02-18 02:22:47 +03:00