2100 Commits

Author SHA1 Message Date
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
Leonid Yuriev
9922d3337e mdbx-ci: refork calling coverity-scan for travis-ci. 2020-05-01 21:20:21 +03:00
Leonid Yuriev
df90263b00 mdbx-make: add 'reformat' target. 2020-05-01 21:20:17 +03:00
Leonid Yuriev
a2c39f34a0 mdbx-make: use gzip for log.
Change-Id: I6dcec6d1331f457b8971ca13142da8c036d00264
2020-05-01 02:43:05 +03:00
Leonid Yuriev
07174cbfdf mdbx-test: fix minor Coverity warnings.
Change-Id: I53ab4ee10317b4530db727ed0b431e5de9887b74
2020-05-01 02:42:28 +03:00
Leonid Yuriev
b943466727 mdbx: fix missing comma in err-msg array (Coverity).
Change-Id: Ic441e63cf8ed14108dfe7c38e269f819879e21ce
2020-05-01 02:42:28 +03:00
Leonid Yuriev
a283b2a894 mdbx-ci: switch to 20.04 on Circle-CI.
Change-Id: I039316e5074d540a636dc6b1020ef2c86945c803
2020-04-30 16:59:52 +03:00
Leonid Yuriev
5edf164e8b mdbx-cmake: update utils.
Change-Id: I272e6eb623251733af60e93907d23d5f3d6f7f25
2020-04-30 16:59:52 +03:00
Leonid Yuriev
5618ef55fa mdbx-cmake: remove dup lines for Elbrus.
Change-Id: I3bd69a6eba14b691a874712cbea696d08cd68459
2020-04-30 16:59:52 +03:00
Leonid Yuriev
eeb96795e5 mdbx: minor README update.
Change-Id: I8975d515ffff0ccfd6adc5d76908ee96d89b230d
2020-04-30 16:59:52 +03:00
Leonid Yuriev
8b2a5a0fc7 mdbx: update MDBX_NOSUBDIR description.
Change-Id: I1d86e2d9147494dff9cf54795416370eafbb53b7
2020-04-30 16:59:52 +03:00
Leonid Yuriev
1488457641 mdbx-tools: hide '-n' option (NOSUBDIR) since now it guessed automatically.
Change-Id: I8668ec919f2f90b133270a566f380066dbb8589f
2020-04-30 16:59:46 +03:00
Leonid Yuriev
b3f375c57f mdbx: fix branch-page merge.
Change-Id: I48dce339d1735cd8d270f1ba1c091572daa897a6
2020-04-30 16:57:29 +03:00
Leonid Yuriev
eec465704d mdbx: fix div-by-zero while copy-with-compaction for non-resizeable DB.
Change-Id: Ice7f5675c3b2864195874f2e3c4ade9148cad048
2020-04-29 18:57:00 +03:00
Leonid Yuriev
fac0d47913 mdbx: add MDBX_CP_FORCE_RESIZEABLE option.
Change-Id: I5fcdae7933dbbfbf8629e8a0423545a4f6b9f6b6
2020-04-29 18:57:00 +03:00
Leonid Yuriev
37abc146b4 mdbx-tools: minor refine mdbx_chk output.
Change-Id: I0d1b70029b861a6048bba8c0239138160c7c6425
2020-04-29 18:39:20 +03:00
Leonid Yuriev
b44520b7d1 mdbx: don't reset last txnid while copy with compactification.
Change-Id: Ia7c1b968ab6a21a3c178b45408088c84647276b1
2020-04-29 18:37:37 +03:00
Leonid Yuriev
eea1432e80 mdbx: auto-reset running transaction in mdbx_txn_renew().
Change-Id: If93ad13bb5a6dab8dd5fcb80882b5eb83fdf3dad
2020-04-26 03:32:50 +03:00
Leonid Yuriev
3b741a6d5f mdbx: automatically abort errored transaction in mdbx_txn_commit().
Change-Id: I2cfac73c69a8ff46870778f174555724f8363a79
2020-04-26 03:23:04 +03:00
Leonid Yuriev
673570ec2a mdbx: auto-choose pagesize for a large databases.
Change-Id: I3f8279ba077a8c31c70504d32fb619b6601cc5c4
2020-04-23 17:15:55 +03:00
Leonid Yuriev
a5fb85f0fc mdbx: avoiding MDBX_UTTERLY_NOSYNC as result of flags merge.
Change-Id: Ia39de7b60a00b04a92ddf1468c995c4684f45474
2020-04-22 20:35:12 +03:00
Leonid Yuriev
21f9a445e8 mdbx: rework env_open() to auto-handling MDBX_NOSUBDIR for any exists database.
Change-Id: Id8a26937c9013c750323646df01c3080a909a4c0
2020-04-22 17:33:59 +03:00
Leonid Yuriev
30f7f15778 mdbx: automatic MDBX_NOSUBDIR while opening existing database.
Change-Id: Ieb2042d70b42bc2a572ac1083c160fa3cdbb7556
2020-04-22 16:58:38 +03:00
Leonid Yuriev
5765d92ac7 mdbx: return MDBX_EBADSIGN when mdbx_env_close() called concurrently from several threads.
Change-Id: I03a8c87bc51eefc5236baa52cee8b12a9f8aa0e2
2020-04-20 17:00:41 +03:00
Leonid Yuriev
b64e47078f mdbx: add __deprecated MDBX_MAP_RESIZED for compatibility.
Change-Id: I82431409ecaf4a1a85ddc777ae43b086715785d9
2020-04-19 17:33:32 +03:00
Leonid Yuriev
83e303b059 mdbx: alter MDBX_CURSOR_FULL description.
Change-Id: I70d13e7503d10c6050bd17e4dd8bd814e46799af
2020-04-19 17:33:32 +03:00
Leonid Yuriev
1e9cc6b0a5 mdbx: more 'const' for API.
Change-Id: Iedea253733105acc4010e07a65a594f8ea52ce56
2020-04-19 17:33:32 +03:00
Leonid Yuriev
90bf7eb817 mdbx: fix/refine MDBX_BUILD_SHARED_LIBRARY definition.
Change-Id: If4e3d32b0ce360eb7275d962fff4b31e53926054
2020-04-17 00:37:57 +03:00
Leonid Yuriev
5d7d45f0e5 mdbx-test: minor cleanup osal_delay() for Windows.
Change-Id: If9c57cc1eba4c873be5d9176f7f6745c2363a0d6
2020-04-17 00:37:57 +03:00
Leonid Yuriev
971f924c44 mdbx-build: rearrange source files, rework CMakeLists.txt and refine GNUMakefile (squashed).
Change-Id: Id73d346695011dab2f670bb9e6293a1e5a1835ca
2020-04-17 00:37:57 +03:00
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