2112 Commits

Author SHA1 Message Date
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
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