Leonid Yuriev
43f1823cdc
mdbx: minor alignment fix for lck-less stub to avoid false-positive alarm from UndefinedBehaviorSanitize.
...
Change-Id: I8d9bc00ccfc7228cb42f9419cf77e8eadb92f918
2021-05-08 22:43:16 +03:00
Leonid Yuriev
7c45f75010
mdbx-test: update Valgrind's suppressions for actual function names.
2021-05-08 20:02:09 +03:00
Leonid Yuriev
3531164fed
mdbx-make: fix escaping of quotation mark character.
2021-05-08 20:02:09 +03:00
Leonid Yuriev
e75033b1f4
mdbx: drop some unused stuff.
...
Change-Id: I136dcf891757d5c1a35a8082ee90e8cf07c016c6
2021-05-08 18:40:14 +03:00
Leonid Yuriev
cc46f398ed
mdbx-ci: add MinGW build.
...
Resolves Related to https://github.com/erthink/libmdbx/issues/155
Change-Id: I4419c4e494139e644ff0ed755ce4560000099d82
2021-05-08 18:39:35 +03:00
Leonid Yuriev
ecd3c06932
mdbx-windows: remove MDBX_CONFIG_MANUAL_TLS_CALLBACK
build option and add MDBX_MANUAL_MODULE_HANDLER
macro.
...
Briefly:
- Now constructor/destructor of "Thread Local Storage" handled automatically when possible.
- Otherwise the MDBX_CONFIG_MANUAL_TLS_CALLBACK macro defined to 1 to indicate that mdbx_module_handle() should be called manually.
- Corresponding build option MDBX_CONFIG_MANUAL_TLS_CALLBACK was removed.
Related to https://github.com/erthink/libmdbx/issues/155
Change-Id: Ic4e6a34b44f874676f0ab212ff473460e3d80559
2021-05-08 18:39:18 +03:00
Leonid Yuriev
3aa8701c6d
mdbx-ci: fix AppVeyor config after new name MDBX_WITHOUT_MSVC_CRT
.
...
Related to https://github.com/erthink/libmdbx/issues/155
Change-Id: Ib9976ccb4bd03e52b4c8cdbbf9f6b45f367c6b3d
2021-05-08 18:39:06 +03:00
Leonid Yuriev
11a521f10a
mdbx-windows: minor fix mdbx_free()
for MDBX_WITHOUT_MSVC_CRT=ON
.
...
Related to https://github.com/erthink/libmdbx/issues/155
Change-Id: I378d9c47b51c55e1e61bc7f6269cbc8182265870
2021-05-08 18:38:53 +03:00
Leonid Yuriev
5ae120af80
mdbx-windows: more crutches for MinGW.
...
More for https://github.com/erthink/libmdbx/issues/155
Change-Id: I7de6122ff160372b2dcfd2a0a26e332cb52d0560
2021-05-08 18:38:44 +03:00
Leonid Yuriev
33e8b19ea4
mdbx-windows: check _WIN32_WINNT
definition.
...
Related to https://github.com/erthink/libmdbx/issues/155
Change-Id: I49c294bd0fa055026b742a12a6f6ea9cd805cf02
2021-05-08 18:38:36 +03:00
Leonid Yuriev
ab1fc94a5b
mdbx-windows: fix build for Windows XP/2000 (_WIN32_WINNT
< 0x0600).
...
Related to https://github.com/erthink/libmdbx/issues/155
Change-Id: Ibd795817e05b6da39ef270ce7b55b31d963d07b0
2021-05-08 18:38:26 +03:00
Leonid Yuriev
8e078fb708
mdbx++: fix using std::filesystem::path
for iOS <= 13.0
...
Change-Id: I8f75e0698acfb9e0da325f5a3c1e2a513cb43e2e
2021-05-08 00:21:12 +03:00
Leonid Yuriev
db4e2cec9c
mdbx: update Changelog (preparation for v0.10.0 release).
...
Change-Id: I1be5f6395f2f2d2ea9354e4af47de2339434364e
2021-05-07 23:10:41 +03:00
Leonid Yuriev
c15ad25073
mdbx: add minor workaround for E2K LCC's bug.
...
Related to https://bugs.mcst.ru/bugzilla/show_bug.cgi?id=6011
Change-Id: I562dbcedb3c172e0646dcb03ef6d5cd3f14e02b9
2021-05-07 19:05:10 +03:00
Leonid Yuriev
a14d6bcb11
mdbx: fix mis-defined MDBX_FORCE_ASSERTIONS
.
...
Change-Id: I6f7ad4fdd6aca99a4f908d634af0015a6e95c0d1
2021-05-06 17:03:57 +03:00
Leonid Yuriev
1275bdb623
mdbx: add MDBX_opt_merge_threshold_16dot16_percent
option.
...
Change-Id: I416f85096e4b6fd21f2db622f07f31103cb9074a
2021-05-06 02:05:33 +03:00
Leonid Yuriev
009e3d6c0f
mdbx-doc: describing the caveat of large values & huge transactions with a huge number of retired pages.
...
Resolves https://github.com/erthink/libmdbx/issues/177
Change-Id: Id5f643f2ee78894293f73c3ad1789dc0a99ecffb
2021-05-05 01:36:21 +03:00
Leonid Yuriev
d7d8725ca9
mdbx: update Changelog.
...
Change-Id: If1dc3f5337ef88d55d500b21632345040289efb0
2021-05-04 23:22:20 +03:00
Leonid Yuriev
7d54518d60
mdbx: add workaround for GCC 4.8 preprocessor bug.
...
Change-Id: I965cfbcd43596ef896a6b849dd043804bdb3f41f
2021-05-03 15:00:53 +03:00
Leonid Yuriev
d6e67e3982
mdbx: minor retine options.h
...
Change-Id: Ic340e6cea25df3e5dddf920ba851e39e714033e0
2021-05-03 15:00:53 +03:00
Leonid Yuriev
c914d417d2
mdbx: refine Doxygen's API description.
...
Change-Id: Ifd326eded287c68c6a95b6c9be22847d6efa5678
2021-05-03 15:00:53 +03:00
Leonid Yuriev
65919abd9a
mdbx: update Changelog.
...
Change-Id: I543c1681d1886a54d7c24ea0bca024e82039541e
2021-05-03 01:16:37 +03:00
Leonid Yuriev
df387ad943
mdbx: fix minor MSVC warnings.
...
Change-Id: I9a2c774f6020bbe5c77e423a1f54110b12bdcb41
2021-05-02 17:11:50 +03:00
Leonid Yuriev
732d3cd2d4
mdbx: fix/rework mdbx_env_stat_ex()
to return stat of the whole env.
...
Resolves https://github.com/erthink/libmdbx/issues/190
Included fix for the first version of this change.
Change-Id: I8357de24fda2ab4c93510574055b52d6e16b0c15
2021-05-02 17:10:37 +03:00
Leonid Yuriev
a56c72d190
mdbx: minor refine internal audit.
...
Change-Id: I0e177e9c9ecf1da97084c175f80b3e987391194c
2021-05-02 15:14:30 +03:00
Leonid Yuriev
9ba8d5892a
mdbx-tools: avoid use mdbx_env_stat_ex()
.
...
Change-Id: I484ead640967b3a6caa3c2536983a34956ae1827
2021-05-01 21:20:18 +03:00
Leonid Yuriev
fe04c98327
mdbx-tools: cosmetic refine mdbx_chk
.
...
Change-Id: I815baf437d9e0af3c78f9df717b0fb669863993c
2021-05-01 20:40:52 +03:00
Leonid Yuriev
3e5dbb42f5
mdbx-make: build silently by default.
...
Resolves https://github.com/erthink/libmdbx/issues/165
Change-Id: I52e80f079989c2bc8d6cdfea5205d2a28a27512b
2021-05-01 19:34:46 +03:00
Leonid Yuriev
dfeb6b5acb
mdbx-make: support for make help
to list available make targets.
...
Change-Id: I72b92101a494fc7b507f54259c3db69990ce5a2d
2021-05-01 11:55:53 +03:00
Leonid Yuriev
547c8dd3f2
mdbx: remove obsolete Travis-CI badge from README.
...
Change-Id: I095c953e1727cfe7f26309170b1214f521c508d6
2021-04-30 20:38:49 +03:00
Leonid Yuriev
8924ccd088
mdbx-ci: enable spelling on pull-requests.
...
Change-Id: Ie8f6e6cab72e91d1fe13872f8f79cada80b7d4ce
2021-04-30 14:07:58 +03:00
Leonid Yuriev
70b7ec0c1c
mdbx-make: support for make options
to list available build options.
...
Change-Id: Ib153834241e33c672867aa402d3fc66a06a489fa
2021-04-30 14:05:36 +03:00
Leonid Yuriev
0054f5388a
mdbx-windows: use Heap-functions instead of LocalAlloc/LocalFree.
...
Change-Id: I85f8a4c888bf98f4792f2a5e522d24ee671f060c
2021-04-30 02:24:36 +03:00
Leonid Yuriev
161b00a4b6
mdbx: refine/rearrange build options.
...
Change-Id: Ic27bf2b1f22e7ed9e6a1db9a1ed2496b1bb1239b
2021-04-30 02:01:22 +03:00
Leonid Yuriev
6b6165cdeb
mdbx: rename internal defines/macros to distinguish it from build options.
...
Change-Id: I42fe240e6ddd5d34c8fec38633849ebdcce0e116
2021-04-30 01:59:48 +03:00
Leonid Yuriev
d27e48ae1b
mdbx-windows: rename MDBX_AVOID_CRT
build option to MDBX_DISABLE_MSVC_CRT
.
...
Change-Id: I124c9d86d4a596718bd9671a7c1b538b84c2dd0f
2021-04-30 01:59:48 +03:00
Leonid Yuriev
c3b2c1fdef
mdbx: handling the case when all dirty pages are unspillable.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Iff7a123c1c171371624d8b7ae497941ec4622385
2021-04-28 23:38:41 +03:00
Leonid Yuriev
aa5a39160a
mdbx: internal build option for debuging dirtyroom reservation and spilling.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ia315ae2cae5f5b5b82891843de22487db0139df3
2021-04-28 23:38:38 +03:00
Leonid Yuriev
39230c9a22
mdbx: more debug/loggin for LRU spilling.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ifcfabf8864830adf3c50fe8d01d24cccb950dcbb
2021-04-28 23:38:34 +03:00
Leonid Yuriev
9fed78c92d
mdbx: fix LRU spilling internal prio celling.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ia4be12e063d1754a38889dc311eb1314b3676c21
2021-04-28 23:38:32 +03:00
Leonid Yuriev
329a2a50e6
mdbx: account loose-pages during spilling and do purge ones if a lack of dirtyroom.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: I50c11195ad31615181f8359e123c1ffe2ebcfc30
2021-04-28 23:38:29 +03:00
Leonid Yuriev
17116b9b46
mdbx: raise MDBX_TXN_FULL
if spilled less that half of needed.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: I3c1a0e1bea6b6ad9bf41347a569e5833e82d8edc
2021-04-28 23:38:26 +03:00
Leonid Yuriev
e57e42d0f8
mdbx: use single pointer to lck-less stub.
...
Change-Id: I80542423386bd54cac574d1678af2620f147c769
2021-04-28 23:38:26 +03:00
Leonid Yuriev
7d249c97ad
mdbx: double dirtyroom reserve for page stack.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: I211fc9c849c9a45254e699d713475898fd20a58e
2021-04-28 23:38:24 +03:00
Leonid Yuriev
4111d7238c
mdbx: spill pages during prepare backlog for update_gc()
.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: I88463a860da0a53420904daf1b1f39e5ca4c97e5
2021-04-28 23:38:21 +03:00
Leonid Yuriev
760cf515a7
mdbx: minor refactoring cursor_put()
.
...
Change-Id: Iacdc02f70278382bf0e7fb496bb57f4010403dd0
2021-04-28 23:38:21 +03:00
Leonid Yuriev
7cbd500534
mdbx: minor simplify dirtyroom accounting.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ia0afcffe5a245aaa9500edc70b2cbca1735070ac
2021-04-28 23:38:19 +03:00
Leonid Yuriev
89558657ea
mdbx: auto-setup MDBX_opt_txn_dp_limit
.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: I8f8c4f1a2600462bc25b4fad3010a4e6ac70b386
2021-04-28 23:38:16 +03:00
Leonid Yuriev
6134220b8a
mdbx: drop P_KEEP
flag and use LRU-label insted of.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ifd3bd2533b40525dd5b0aa05df421c87462c2439
2021-04-28 23:37:48 +03:00
Leonid Yuriev
975413b48d
mdbx: more for page operation statistics.
...
Change-Id: I19fc26dfc9f9627eecc8d505e95d33bad76f2b2f
2021-04-27 18:19:13 +03:00