Leonid Yuriev
72c944974a
mdbx-tools: refine mdbx_chk (use boot-id, explicitly notify about sync-to-disk).
...
Change-Id: I520df734d9b806bc94b53f0817b71cd8223a7a62
2019-11-18 00:09:47 +03:00
Leonid Yuriev
baee0be7ad
mdbx-tools: minor refine mdbx_chk (use const strings).
...
Change-Id: I402c8d97cfa860f21b97bd20b6d6feb190af654e
2019-11-17 23:57:02 +03:00
Leonid Yuriev
7703312b88
mdbx-tools: fix mdbx_chk to avoid creation of missing DB.
...
Change-Id: Ieaeee75c1c8f8b1e426817df86ef1769e691e504
2019-11-16 00:23:03 +03:00
Leonid Yuriev
42d9e06598
mdbx: add MDBX_ACCEDE environment opening flag.
...
Change-Id: If0a08d6fce127f35ff2992988715b7dc1fdb70a9
2019-11-16 00:23:03 +03:00
Leonid Yuriev
d869e20941
mdbx-chk: don't treat mm_geo.current < dxbfile_pages
as an error
...
This it is valid usual case on Windows, since windows can't shrinking a
mapped file. So we shouldn't see an error while checking such files on Linux.
Change-Id: I830c236c9b2fc1eb21768fceb24e67b9486c0795
2019-11-04 00:22:13 +03:00
Leonid Yuriev
81fd0beb1a
mdbx: rework/fix unaligned access.
...
Change-Id: Ib0208e78786ac84551384ed57ac580fe0717840e
2019-10-24 22:12:14 +03:00
Leonid Yuriev
e6462dfe58
mdbx: minor refine mdbx_chk
output.
...
Change-Id: I2c2560910d2908afe0f4a3aee0dc465ca7e24030
2019-10-21 07:50:11 +03:00
Leonid Yuriev
8fa718c5f9
mdbx: refine mdbx.h and API description, etc (4 of 5).
...
Change-Id: I36955c54f55facfb31b403f12fe6fd16c789e167
2019-09-18 04:00:57 +03:00
Leonid Yuriev
228a74c41d
mdbx-chk: refine/fix for MAX_DBI case.
...
Change-Id: Ie0deb701bcb35634951c8080d57294682937b5b7
2019-09-11 18:58:51 +03:00
Leonid Yuriev
acc6969594
mdbx-tools: minor refine mdbx_chk.
...
Change-Id: I71db479944a305f03019d985b91a39cd51ba9981
2019-09-10 19:28:07 +03:00
Leonid Yuriev
449307a69f
mdbx-build: sourcery pinning (but cmake requires manually config-files removal for now).
2019-09-09 14:29:05 +03:00
Leonid Yuriev
b8ac1daae0
mdbx-tools: print git-tree while show version info.
2019-09-03 23:43:29 +03:00
Leonid Yuriev
5a87faf9af
mdbx-build: start using CMake (incomplete; no properly installation for now).
2019-09-03 02:33:57 +03:00
Leonid Yuriev
f81374a9ce
mdbx-build: amalgamation.
...
Change-Id: Ic32de6ee119df2bc12136b882f4f7cabaa1314a9
2019-09-03 02:30:55 +03:00
Leonid Yuriev
b3a9b3ca1a
mdbx: avoid refs to mdbx_runtime_flags from tools.
2019-08-27 00:29:15 +03:00
Leonid Yuriev
137d652d77
mdbx: refine attribute-based macros.
2019-08-25 04:37:15 +03:00
Leonid Yuriev
7960f67ea6
mdbx-chk: "backed-pages > file-pages" isn't error in the non-exclusive or read-only modes.
2019-08-12 15:44:15 +03:00
Leonid Yuriev
5244c1a9c2
mdbx-chk: "backed-pages less filesize" isn't an error on Windows.
...
Change-Id: Iea212a469225b0617221cdf292352eb1f896b4c6
2019-08-12 12:23:02 +03:00
Leonid Yuriev
cfaed9d761
mdbx-chk: don't use internal mdbx_filesize().
...
Change-Id: I539b92f345ba7884629b702b2568ca805466be3a
2019-08-12 11:40:58 +03:00
Leonid Yuriev
5b09105a6d
mdbx-chk: check filesize/backed-pages/alloc-pages.
...
Change-Id: I231e461d81d3157441f67d2c28470283eb68920a
2019-08-12 02:55:53 +03:00
Leonid Yuriev
bc3d1a84cc
mdbx-chk: use mdbx_env_stat2() and mdbx_env_stat2() to avoid races.
...
Change-Id: Ib956c19bec0b8bf9999cf1e97b8b630f119a0906
2019-08-12 02:55:53 +03:00
Leonid Yuriev
a6449f36f6
mdbx-chk: more for false-positive 'wrong idl entry' fix.
...
Change-Id: I66e42a98c8f4a5c58e12adb666984fed8a70bece
2019-08-11 21:41:01 +03:00
Leonid Yuriev
036144eed4
mdbx-chk: fix false-positive 'wrong idl entry' error(s).
...
Исторически mdbx_env_info() получает информацию вне контекста
транзакции. Поэтому транзакция чтения, внутри которой проверяются записи
GC, может быть не последней. При этом в более новых транзакциях
последние страницы могут быть возвращены в пул нераспределенных с
уменьшением номера последней выделенной страницы. Тогда в проверяемом
снимке в записях GC могут быть номера страниц больше, чем возвращает
mdbx_env_info() в поле mi_last_pgno, что трактовалось в mdbx_chk как
ошибка.
Change-Id: I51ae102603e1eda77d6b6d511e2094410ab8c2c2
2019-08-11 16:49:15 +03:00
Leonid Yuriev
7e1e142104
mdbx-chk: fix/refine error handling for sub-DBs.
...
Change-Id: I42460793bbe47815add1b3f61f3746f671a749d9
2019-07-07 01:47:10 +03:00
Leonid Yuriev
728f98d3de
mdbx-check: refine leaf-pages info (cosmetics).
...
Change-Id: I0fdb467f1c1d51bfcdcef5edfe99c8e9ad66037e
2019-06-23 14:26:11 +03:00
Leonid Yuriev
bbf8ef0a4b
mdbx-chk: fix space-usage statistics info.
...
Change-Id: I0cbbbc481f2e6dc37b29f6603ec1ead43b5d1864
2019-06-23 14:07:13 +03:00
Leonid Yuriev
52bc4a7f41
mdbx-check: minor refine to avoid deeply recursion.
...
Change-Id: I67f83a232ef47899f43c242b7e6295de4d7ec909
2019-06-20 21:08:31 +03:00
Leonid Yuriev
c91cc85c1f
mdbx-chk: log sub-DBs when verbose > 0 (cosmetic).
...
Change-Id: Ie73c0773929b51eb11fb02afe18bb01b59fb2612
2019-06-20 10:12:26 +03:00
Leonid Yuriev
cd75c4f081
mdbx-chk: avoid continuing to check bad records.
...
Change-Id: I03b9d425c8413d6cacc1b67ed4a8253a10a9d603
2019-06-20 00:52:00 +03:00
Leonid Yuriev
2bea60a1a4
mdbx-chk: avoid infinite loop/recursion while checking corrupted DB.
...
Change-Id: I3edb053e4baedced8ce8e8cfa25f9851eaca35d1
2019-06-19 15:08:50 +03:00
Leonid Yuriev
c05702eacf
mdbx: add MDBX_PGWALK-tags and refine pgwalk internals.
...
Change-Id: I1f4eb79463dc6eec3d94d43baab0b28ceefa8c03
2019-06-19 15:05:10 +03:00
Leonid Yuriev
ce0e5d67f5
mdbx-tools: avoid output NaN from mdbx_chk for empty tables.
...
Change-Id: Ie1ff87da3a5e5e124eac1dafd7d5b456f8bde6e3
2019-06-10 13:28:31 +03:00
Leonid Yuriev
73bef80347
mdbx-check: add checking for complete duplicates.
...
Change-Id: I8308b725418ef69188eeadfc656dead4ce9cee27
2019-02-04 01:32:15 +03:00
Leonid Yuriev
460751bc01
mdbx-chk: add '-i' option for custom comparators.
...
Change-Id: Ie3d7fdb3c3a881a484d351ca9a3160eb467b43b9
2019-02-04 01:32:15 +03:00
Leo Yuriev
9cc9116df3
mdbx: 2019 HNY.
...
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
2019-02-03 12:28:01 +03:00
Leonid Yuriev
3c684010e3
mdbx-tools: fix minor MSVC warnings.
...
Change-Id: If8b042e2d84bfed7f8b0a81a4d75d7be7e7aa7a9
2018-11-05 00:31:58 +03:00
Leo Yuriev
06cb8b45b2
mdbx: fix PRIuPTR/PRIu64 for 32-bit builds.
...
Change-Id: Ic6462666de666840bc77e0e50fd0d8cd36a125b7
2018-11-04 20:34:16 +03:00
Leonid Yuriev
582adda628
mdbx-windows: fix mdbx_strdup() usage.
...
Fix commit e229dbe9dca1ff117a714007cc3811c01ba98b8b (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
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
0b870648af
mdbx-chk: use txnid as record-number for GC.
2018-09-23 12:04:10 +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
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
64fb9b81f3
mdbx: allow GC's PNL be partially unused.
2018-09-13 17:46:52 +03:00
Leo Yuriev
e00dce3543
mdbx: rework PNL, DPL and TXN lists.
...
Change-Id: I79c7399912516b17cc255fc8e24b5941338e5eb1
2018-09-13 17:40:55 +03:00
Leo Yuriev
8f51b6bac2
mdbx-tools: fix ENOMEM
for Windows (minor).
2018-09-13 17:40:55 +03:00
Leo Yuriev
7498286e3a
mdbx: verification of in-db stats.
2018-09-13 16:04:28 +03:00
Leo Yuriev
3bc339ef19
mdbx: enumeration for page types.
2018-09-13 16:00:33 +03:00
Leo Yuriev
e9d63315d1
mdbx-chk: refine dbi-structure.
2018-09-13 01:10:52 +03:00
Leonid Yuriev
073ee8888c
mdbx-tools: add/fix printf-format checking.
...
Change-Id: I8d6f5c66ad7ff51296e415bfe577d99823743c56
2018-09-13 01:10:41 +03:00
Leo Yuriev
20022658be
mdbx-tools: remove "" from printf-strings.
2018-09-13 00:52:56 +03:00