1934 Commits

Author SHA1 Message Date
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
v0.2.0
2018-09-25 14:26:18 +03:00
moneromooo-monero
a3aa2b5a57 mdbx-doc: import - mdb_cursor_del does not invalidate the cursor (ITS#8857). v0.1.6 2018-09-24 19:35:39 +03:00
Howard Chu
02276500c9 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:35:36 +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
de44ecccd1 mdbx: backport - update MAX_PAGENO and MAX_MAPSIZE64. 2018-09-23 18:07:29 +03:00
Leonid Yuriev
5049c86517 mdbx: backport - avoid empty and unneeded large/overflow pages (squashed). 2018-09-23 18:07:29 +03:00
Leonid Yuriev
d2854e0760 mdbx: backport - refine mdbx_chk (squashed).
- refine 'mismatch idl length' error message.
 - add/fix printf-format checking.
 - refine dbi-structure.
2018-09-23 18:07:29 +03:00
Leonid Yuriev
5a29214ad9 mdbx-test: backport - update 'gc.sh' script (squashed). 2018-09-23 15:39:56 +03:00
Leonid Yuriev
b51d92d449 mdbx-test: backport - update test (squashed).
- add support for 'default' options values.
 - add min/max cases for option values.
 - add support for db-geometry params.
 - fix int-types for 32-bit builds (minor).
 - fix key/value generation for long-length cases.
 - fix update_flags for non-MDBX_DUPSORT.
 - 'none' for config-verbs.
 - check commandline length under Windows.
 - workaround for QueryFullProcessImageNameA() bug.
 - add setloglevel().
 - workaroung for MSVC bug.
 - avoid extra 'jitter' testcase loops.
 - cleanup DUPSORT flags.
 - refine key/value min/max handling.
 - dump keygen params.
 - fix/refine keygen.
 - alter keygen defaults (rotate 3, offset 41).
 - default test-db size 4mb or 256mb.
 - fix/refine keygen for non-MDBX_DUPSORT.
 - seeding keygen with actor_id for better spreading.
2018-09-23 15:39:56 +03:00
Leonid Yuriev
6da477d37f mdbx-ci: backport - refines for Windows (squashed).
- push logs to appveyor separately.
 - rename 'test.exe' to 'mdbx_test.exe'.
 - add test.db to appveyor artefacts (windows).
2018-09-23 15:39:56 +03:00
Leonid Yuriev
6150a8c903 mdbx: backport - fix/refine mdbx_update_gc() (squashed). 2018-09-23 15:39:56 +03:00
Leonid Yuriev
f3e9731da4 mdbx: backport - move macros/inlines to fix Windows builds.
Change-Id: I48aaf6b77466bb8b13294b84de73fb6063c88190
2018-09-23 15:39:56 +03:00
Leonid Yuriev
353b6b8af0 mdbx: backport - refine assections (minor).
Change-Id: Ic924988b8ce043d6106df381c996dd2c8ff9ca1f
2018-09-23 15:39:56 +03:00
Leonid Yuriev
3f10e58df2 mdbx: backport - re-define assert macro via mdbx_assert.
Change-Id: I317801ba4200bdf1aa5cacf75d21a8e633fbc48a
2018-09-23 15:39:56 +03:00
Leonid Yuriev
d232737087 mdbx: backport - add MDBX_FORCE_ASSERT.
Change-Id: I68a9f7b42663ea157c7c0a5a58797c94127b45ed
2018-09-23 15:39:56 +03:00
Leo Yuriev
e32ca55258 mdbx: backport - fix tracking around mdbx_cursor_del(). 2018-09-23 15:39:56 +03:00
Leonid Yuriev
f57ffc987c mdbx: backport - drop inherited broken audit (will be fixed in the master branch).
Internal self-audit (inherited from LMDB) is invalid and useless
for sub-db and dupsort cases.
2018-09-23 15:39:56 +03:00
Leonid Yuriev
cdd510d20e mdbx: backport - prevent DB corruption due rebalance bugs.
Won't fix https://github.com/leo-yuriev/libmdbx/issues/38 in the 'stable/0.1' branch,
but add checks to prevent DB corruption.
2018-09-23 15:39:56 +03:00
Leo Yuriev
d757ba1266 mdbx: backport - fix MDBX_CORRUPTED due open/shrink collision. 2018-09-23 15:39:56 +03:00
Leonid Yuriev
337f7589f8 mdbx: backport - fix mdbx_pnl_search(). 2018-09-23 15:39:56 +03:00
Leonid Yuriev
912728a322 mdbx: backport - fix mdbx_replace().
Change-Id: I2af00f101017795ca2b967479f86e5ea7e8ad37b
2018-09-23 15:39:56 +03:00
Leonid Yuriev
204b5a532d mdbx: backport - shorten maxkeysize (will be fixed in the master branch).
Change-Id: I660b1b3e454d9b51a24d3b4cc987c8e2980bd435
2018-09-23 15:39:56 +03:00
Leonid Yuriev
014be165c3 mdbx: backport - allow GC's PNL be partially unused. 2018-09-23 15:39:56 +03:00
Leonid Yuriev
a9244f807b mdbx: backport - setup mdbx_cmp_memn() as data-comparator for safety. 2018-09-23 15:39:56 +03:00
Leonid Yuriev
6d438605dd mdbx: backport - check comparator for MDBX_GET_BOTH and MDBX_GET_BOTH_RANGE. 2018-09-23 15:39:56 +03:00