Leonid Yuriev
d2bfb2e489
mdbx: allow pre-define mdbx_malloc/mdbx_free macros.
...
Related to https://github.com/leo-yuriev/libmdbx/issues/43#issuecomment-429625047
Change-Id: Icaee4ba62003e6eacef9f938bdea19426623b5da
2018-10-14 19:06:42 +03:00
Leonid Yuriev
30a80ff07c
mdbx: re-enable usage of lck-file in MDBX_EXCLUSIVE mode.
...
Otherwise we should prohibit running read-only and write
transactions simultaneously, but no reliable way to do this.
Change-Id: I8805f10b37ffcddb612d869309b1cd5e04cfcc1e
2018-10-14 18:15:26 +03:00
Leonid Yuriev
582adda628
mdbx-windows: fix mdbx_strdup() usage.
...
Fix commit e229dbe9dc
(12 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43 ).
Change-Id: Ic63864d736319ccba37518a50590f4e21282a451
2018-10-14 17:36:15 +03:00
Leonid Yuriev
ae83982811
mdbx-windows: setup DllMain() as entry and don't linking with CRT.
...
17 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ie3b37633ab081ca4ba2dc485e67de96df032a3df
2018-10-14 15:03:52 +03:00
Leonid Yuriev
25ab7da33e
mdbx-windows: _NO_CRT_STDIO_INLINE to avoid dependency from CRT.
...
16 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ie5d33e2a4f1fd281a28eaa6686aaf921ecc956b4
2018-10-14 15:03:38 +03:00
Leonid Yuriev
96491db229
mdbx-windows: building and linking mdbx_ntdll_extra.lib
...
15 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I6241d08f14dcd59c6c55aa26660bdec233fb3c94
2018-10-14 15:03:17 +03:00
Leonid Yuriev
d520df6a13
mdbx-windows: add ntdll.def for building ntdll.lib
...
14 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I492b4be913f0a14540e7a80b53c2a24623dfeb07
2018-10-14 15:01:15 +03:00
Leonid Yuriev
cad9cea33b
mdbx-windows: use _wcsnicmp() instead of wcsnicmp() to avoid dependency from CRT.
...
13 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I880433ddaf364a7e2b5de104ccf8689b93754ec5
2018-10-14 15:00:43 +03:00
Leonid Yuriev
e229dbe9dc
mdbx-windows: add mdbx_strdup() to avoid dependency from CRT.
...
12 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ib1379d75dc25e34f56daf8988848c41f59b6cd6b
2018-10-14 15:00:16 +03:00
Leonid Yuriev
b47badb3ee
mdbx-windows: rework mdbx_memalign_alloc()/mdbx_memalign_free() to avoid dependency from CRT.
...
11 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Id1a76f88588251cab9a93aa9753021b30159b09a
2018-10-14 14:59:37 +03:00
Leonid Yuriev
f49741b4f8
mdbx-windows: refine mdbx_vasprintf() to avoid dependency from CRT.
...
10 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I95c4583c27503eb4e9221b212b34474dfb561e6d
2018-10-14 14:59:09 +03:00
Leonid Yuriev
80ccb31008
mdbx-windows: avoid use strerror() from CRT.
...
9 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I53b770e911ff8e7d4e084a323a374d09ea516986
2018-10-14 14:58:30 +03:00
Leonid Yuriev
4dea5c2719
mdbx-windows: use _snprintf() and _vsnprintf() to avoid dependency from CRT.
...
8 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I335a12344b0f0d63462ac4195fafdb60f981f182
2018-10-14 14:57:34 +03:00
Leonid Yuriev
ded5269937
mdbx-windows: rework mdbx_assert_fail() and mdbx_panic() to avoid dependency from CRT.
...
7 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I40dc8d6a7d1d955c13c7d328ee904f0e6f30b248
2018-10-14 14:57:03 +03:00
Leonid Yuriev
ae2875e248
mdbx: avoid on-stack allocation/chkstk inside mdbx_check4nonlocal().
...
6 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ib55a27c4859ff25e5b779a4514cd2e625ab99013
2018-10-14 14:56:32 +03:00
Leonid Yuriev
aa64597e8b
mdbx: avoid on-stack allocation/chkstk inside mdbx_env_walk().
...
5 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Iadb833ff38dbd0922eda69238b365f5906b9109f
2018-10-14 14:56:04 +03:00
Leonid Yuriev
180c605cac
mdbx: avoid on-stack allocation/chkstk inside mdbx_reader_check0().
...
4 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I31a8396ccc5db32cbd1816593861d2ee4325d09f
2018-10-14 14:55:30 +03:00
Leonid Yuriev
23d2f0fbb5
mdbx: avoid on-stack allocation/chkstk inside mdbx_kill_page().
...
3 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Icff2d67f84283820fb21932c0d439d645c634d25
2018-10-14 14:54:39 +03:00
Leonid Yuriev
9fae7f92d6
mdbx-windows: use LocalAlloc/LocalFree instead of CRT's malloc/free.
...
2 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Icb5289b55897d52ac00007f30b36bd84e5a0cbd1
2018-10-14 14:53:57 +03:00
Leonid Yuriev
ace3d1bfa3
mdbx: add mdbx_malloc/mdbx_free, etc.
...
1 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ia5204be9f943fefde42e6a46e652c1be6ab6a96b
2018-10-14 14:53:40 +03:00
Leonid Yuriev
777d1db5c9
mdbx-windows: add MDBX_BUILD_DLL and DllMain().
...
Change-Id: I715f5ea84fe77923eecbc617c4e994e3e5d44605
2018-10-08 02:19:58 +03:00
Leonid Yuriev
c9e3dc373b
mdbx-windows: more for WindowsXP support.
...
Change-Id: Ide34048720989fc010f48e086569e12e8c1edca1
2018-10-08 02:18:32 +03:00
Leonid Yuriev
83f3d820f1
mdbx-windows: refine debug-logging.
2018-10-08 02:17:27 +03:00
Leo Yuriev
0f82db941b
mdbx: add error-logging to mdbx_page_get().
...
Change-Id: I6a1a95ec6fc73aa7bf28875a89b1dd6c02ef5164
2018-10-08 02:14:12 +03:00
Leonid Yuriev
7a3c8743f3
mdbx: fix use _ASSERTE.
...
Change-Id: Iba139ddcfc6cbc93b74f3d7387492b6ae6496dcc
2018-10-08 02:14:12 +03:00
Leonid Yuriev
03287b73a1
mdbx-ci: disable CI for old MSVC compilers.
...
Change-Id: Ia1072745664d9a97d4114149a305a6399bde71aa
2018-10-01 20:03:10 +03:00
Leo Yuriev
025cf0b00e
mdbx: minor fix mdbx_updage_gc().
...
Change-Id: Ie6bc38e86837ab0863c60500dce0c965e447b209
2018-10-01 18:11:24 +03:00
Leonid Yuriev
e819099dec
mdbx-rpm: fix version for rpm.
...
Change-Id: I7049903c02963a0d581328ee5ca23af9a1a8bfc0
2018-09-25 14:26:18 +03:00
moneromooo-monero
2689d0a71f
mdbx-doc: import - mdb_cursor_del does not invalidate the cursor (ITS#8857).
2018-09-24 19:34:42 +03:00
Howard Chu
d56c9a881e
mdbx-doc: import - GET_MULTIPLE etc don't return the key (ITS#8908).
...
Unnecessary since these are DUPs, the key will always be the same
2018-09-24 19:31:47 +03:00
Leonid Yuriev
0b870648af
mdbx-chk: use txnid as record-number for GC.
2018-09-23 12:04:10 +03:00
Leonid Yuriev
2ff1096c49
mdbx: refine mdbx_update_gc().
2018-09-23 12:03:45 +03:00
Leonid Yuriev
cd1b9ea1cf
mdbx: fix and simplify lifo-cleanup-loop inside update_gc().
2018-09-21 02:36:35 +03:00
Leonid Yuriev
31810c9957
mdbx-test: drop obsolete failfast cases inside 'gc.sh' script.
2018-09-21 00:18:43 +03:00
Leonid Yuriev
a5cdbda9d8
mdbx-test: store 'log.lz4' on tmpfs.
2018-09-21 00:18:21 +03:00
Leonid Yuriev
b868765ddf
mdbx-test: reduce repeats number inside 'gc.sh' script.
2018-09-20 23:39:31 +03:00
Leonid Yuriev
2fc42fab7f
mdbx-test: add simple loop.bat for Windows.
2018-09-20 23:39:31 +03:00
Leonid Yuriev
60271687ef
mdbx-test: workaround for QueryFullProcessImageNameA() bug.
...
Change-Id: Icd06d7b15f8bef20a9fb75639a7ab7a298fe0120
2018-09-20 22:47:22 +03:00
Leonid Yuriev
d6c954cd43
mdbx: remove txnid/me_oldest asserts.
...
The `mc->mc_txn->mt_txnid >= *mc->mc_txn->mt_env->me_oldest` assertion may fail
false-positive, becase me_oldest may be not updated in read-only or exclusive modes.
Change-Id: Iad57a38efa30bc9fe2392ac24657727a7ce1f584
2018-09-20 12:29:53 +03:00
Leonid Yuriev
0b4c957bd5
mdbx: fix mdbx_find_oldest() for exclusive mode.
...
Change-Id: I41283bcf0bd22797530c74df125bf94cd3e73d00
2018-09-20 00:05:36 +03:00
Leonid Yuriev
e73df34619
mdbx: fix Coverity warnings (minor).
...
Change-Id: I4fa312f3a943f20e771f5149b2d8ad7c2520bb0e
2018-09-19 22:04:34 +03:00
Leonid Yuriev
f7bd98a4ce
mdbx-chk: allow gap for GC's PNL upto one page.
...
Change-Id: Ie051442947e7588b868cec35ef9374368bf8a1c4
2018-09-19 17:06:56 +03:00
Leonid Yuriev
82c975e174
mdbx: rework/fix cursor tracking inside mdbx_update_gc().
...
Change-Id: I2c320f63901a011992bc912938bc65084f63636b
2018-09-19 17:06:27 +03:00
Leonid Yuriev
4117c9f111
mdbx: move macros/inlines to fix Windows builds.
...
Change-Id: I48aaf6b77466bb8b13294b84de73fb6063c88190
2018-09-19 00:24:49 +03:00
Leonid Yuriev
b52e878c4f
mdbx-chk: allow gap for GC's PNL upto half of page.
...
Change-Id: I6d6d68d1124c336f8356435eba02cb66a08c4e9c
2018-09-19 00:07:39 +03:00
Leonid Yuriev
c4e1c2b488
mdbx: refine assections (minor).
...
Change-Id: Ic924988b8ce043d6106df381c996dd2c8ff9ca1f
2018-09-19 00:07:39 +03:00
Leonid Yuriev
60bba72aa1
mdbx: re-define assert macro via mdbx_assert.
...
Change-Id: I317801ba4200bdf1aa5cacf75d21a8e633fbc48a
2018-09-19 00:07:39 +03:00
Leonid Yuriev
8e8b40e7a2
mdbx: fix update_gc() assertion.
...
Change-Id: I433382de0ddab41ad1530ee674ed22f9003c2779
2018-09-19 00:07:39 +03:00
Leonid Yuriev
ab5668cf29
mdbx: add MDBX_FORCE_ASSERT.
...
Change-Id: I68a9f7b42663ea157c7c0a5a58797c94127b45ed
2018-09-19 00:07:39 +03:00
Leonid Yuriev
d6d03639a2
mdbx: one more fix/refine mdbx_update_gc().
...
Change-Id: I408db79aafb317ad20e8473edc1bc30c3afb6ea9
2018-09-19 00:07:39 +03:00