1920 Commits

Author SHA1 Message Date
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
Leo Yuriev
34300150a1 mdbx: backport - don't touch mm_psize and mm_flags while provoking bad readers (debug-only). 2018-09-23 15:39:56 +03:00
Leo Yuriev
1b2b98234f mdbx: backport - fix concurrent opening with custom pagesize (get pagesize from meta-page early). 2018-09-23 15:39:56 +03:00
Leonid Yuriev
bd672a5583 mdbx: backport - add mdbx_limits_xyz() (squashed).
Change-Id: I56c79704c59386a0c4d84b001020484c23925e6c
2018-09-23 15:39:56 +03:00
Leonid Yuriev
888003c072 mdbx: backport - fix comments typos (squashed). 2018-09-23 14:40:31 +03:00
Leo Yuriev
bc6db4e4d7 mdbx: backport - allow mdbx_env_compact() to fix page leaks.
Don't treat fixing page leaks as an error while copy DB with compactification.

Change-Id: I2a575ff9e2b24610172aaca939b5f6957c26ec77
2018-09-23 14:40:31 +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
moneromooo-monero
c5e72817ca mdbx-doc: import - mdb_cursor_del does not invalidate the cursor (ITS#8857). v0.0.4 2018-09-21 16:35:40 +03:00
Howard Chu
e1ce55d0e6 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-21 16:35:40 +03:00
Leonid Yuriev
d23a3f3bc4 mdbx: drop inherited broken audit.
Internal self-audit (inherited from LMDB) is invalid and useless
for sub-db and dupsort cases.
2018-09-21 16:35:40 +03:00
Leonid Yuriev
b1620bbe47 mdbx: backport - prevent DB corruption due rebalance bugs.
Won't fix https://github.com/leo-yuriev/libmdbx/issues/38 in the 'stable/0.0' branch,
but add checks to prevent DB corruption.
2018-09-21 16:35:40 +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