Commit Graph

1461 Commits

Author SHA1 Message Date
Leo Yuriev
a150b791a4 mdbx: audit freeing large/overflow pages. 2018-09-13 18:15:40 +03:00
Leonid Yuriev
94b1553637 mdbx: fix mdbx_ovpage_free().
Change-Id: I453921b356f412fad59efd6ce31ddb75f0d84358
2018-09-13 18:15:40 +03:00
Leonid Yuriev
f1bb2f1ec2 mdbx: fix mdbx_gc_update() for empty list of reclaimed-pages.
Change-Id: I7386eab7e663ec8ee330705c4b202429bf9f6793
2018-09-13 18:15:30 +03:00
Leonid Yuriev
64fb9b81f3 mdbx: allow GC's PNL be partially unused. 2018-09-13 17:46:52 +03:00
Leo Yuriev
6fb628d88d mdbx: require data == NULL for mdbx_cursor_get(MDBX_SET). 2018-09-13 17:45:26 +03:00
Leo Yuriev
7ffff48fdc mdbx: rework mdbx_update_gc(). 2018-09-13 17:40:55 +03:00
Leo Yuriev
cbafb3f471 mdbx: update DBXs with cursor-tracking. 2018-09-13 17:40:55 +03:00
Leonid Yuriev
7ce1a4c0cf mdbx: clarify mdbx_backlog_size().
Change-Id: I42170dded36b7259f61c028fefb72691ff791388
2018-09-13 17:40:55 +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
Leonid Yuriev
438bda3ee3 mdbx-test: fix/refine keygen for non-MDBX_DUPSORT.
Change-Id: I2e3187d5b9c5078cebc1850e6f291718a7b61895
2018-09-13 17:40:55 +03:00
Leonid Yuriev
6be164a45b mdbx-test: default test-db size 4mb or 256mb.
Change-Id: I306cb76f1740422888814687f69fa7766ee4fba6
2018-09-13 17:40:55 +03:00
Leonid Yuriev
3cf6bc0639 mdbx-test: add +/- data-dups passes into gc.sh script.
Change-Id: If5c00da0bb893dccddf2d145bcd6548089984e8d
2018-09-13 17:40:55 +03:00
Leonid Yuriev
6b5d973a31 mdbx-test: alter keygen defaults (rotate 3, offset 41).
Change-Id: I16465eb34acbb499f04cb0436c674c09ad6d50f3
2018-09-13 17:40:55 +03:00
Leonid Yuriev
99934bc845 mdbx-test: fix/refine keygen.
Change-Id: Ib6d8bb5e438314bf09c1c9466456d8c57623711b
2018-09-13 17:19:06 +03:00
Leonid Yuriev
2b305d33a3 mdbx-test: dump keygen params.
Change-Id: Ied04bc85def0fc6a408a14fd2f580969534e7ea1
2018-09-13 17:19:06 +03:00
Leonid Yuriev
5051603c56 mdbx-test: refine key/value min/max handling.
Change-Id: If37e5fc2fe30ce309cb4ff540fe93dd9f87ec87f
2018-09-13 17:19:06 +03:00
Leonid Yuriev
102f57dd15 mdbx-test: 'none' for config-verbs.
Change-Id: I1a3b5a6757ee193027f06cef1e1ff0cc609ad3f4
2018-09-13 17:19:06 +03:00
Leonid Yuriev
f4cd7b5418 mdbx-test: fix update_flags for non-MDBX_DUPSORT. 2018-09-13 17:19:06 +03:00
Leonid Yuriev
0ecc5226d6 mdbx-test: alter min/max for key/data length.
Change-Id: I863145b8567a2e3952826b68c7bef07787081bb6
2018-09-13 17:19:06 +03:00
Leonid Yuriev
289da70a67 mdbx: fix max_keysize (TODO).
Change-Id: I660b1b3e454d9b51a24d3b4cc987c8e2980bd435
2018-09-13 17:19:06 +03:00
Leonid Yuriev
96bdf6559e mdbx-test: fix key/value generation for long-length cases.
Change-Id: I643bca291948bf7659c77fffa31408c3794785e6
2018-09-13 17:19:06 +03:00
Leo Yuriev
0be592530e mdbx: fix accounting mdbx_ovpage_free(). 2018-09-13 17:19:06 +03:00
Leo Yuriev
6ce08100fa mdbx: fix accounting mdbx_page_loose(). 2018-09-13 16:52:12 +03:00
Leonid Yuriev
c3a9ad52ed mdbx: fix accounting mdbx_page_new().
Change-Id: I635c4f4dedeb03ef7011a7c1516c53a446416901
2018-09-13 16:50:52 +03:00
Leo Yuriev
7c5d24f99a mdbx: fix accounting mdbx_rebalance(). 2018-09-13 16:49:25 +03:00
Leo Yuriev
3a8d73b7ef mdbx: fix accounting mdbx_drop0(). 2018-09-13 16:47:25 +03:00
Leo Yuriev
5c06a4c917 mdbx: add mdbx_outer_db(). 2018-09-13 16:46:16 +03:00
Leonid Yuriev
02f3230e0c mdbx: rework cursor's couple (required for further fixing).
Change-Id: Ic89c59eaea36d14a26e29d2012c693d92474a748
2018-09-13 16:38:43 +03:00
Leo Yuriev
e25b30b5ce mdbx: add mdbx_page_befree(). 2018-09-13 16:25:46 +03:00
Leonid Yuriev
676fc941f1 mdbx: fix accounting mdbx_cursor_del().
Change-Id: I19418e46ac1c692aa4eb346019c3a11539870f94
2018-09-13 16:23:33 +03:00
Leonid Yuriev
f62bb4b6a7 mdbx: fix accounting mdbx_cursor_put().
Change-Id: I7e621d62104d2d4e1c8cabf479077369d566f135
2018-09-13 16:22:03 +03:00
Leo Yuriev
e7da946fac mdbx: reset length of PNL before shrinking. 2018-09-13 16:04:32 +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
3a2ea85c79 mdbx: alter cursor flags.
Change-Id: Icab3ca150b2c2cb003dbedb24024fe142c540082
2018-09-13 15:43:08 +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
ceac458b4e mdbx: rework internal self-audit.
Change-Id: I42a585a61a9040a24d9d8dbd12fe9055d189195c
2018-09-13 00:52:57 +03:00
Leo Yuriev
20022658be mdbx-tools: remove "" from printf-strings. 2018-09-13 00:52:56 +03:00
Leo Yuriev
3c87e02716 mdbx: add unlikely for comparison result inside mdbx_cursor_set(). 2018-09-12 19:51:05 +03:00
Leonid Yuriev
51b89c9690 mdbx: fix memleak after midl2 rework.
Change-Id: I211a1c0e2b7e0c5abc44ff82151f83f81ddda754
2018-09-12 19:51:05 +03:00
Leonid Yuriev
ee21afce1e mdbx: fix comments typo.
Change-Id: Ieb8ee5d6d76457efbd54958fe9d894f752880520
2018-09-12 19:51:05 +03:00
Leo Yuriev
8966a1773c mdbx: add C_GCFREEZE cursor's flag.
Change-Id: I813a2c2ac30564d8943f0cf50a601b858dda0bd9
2018-09-12 19:51:05 +03:00
Leonid Yuriev
f373a0ca84 mdbx: rework/speedup filtering of dirty-list from loose-pages inside mdbx_update_gc().
Change-Id: Icf4101fa77314ab79be90ee429cf2df639686d7e
2018-09-12 19:48:06 +03:00
Leonid Yuriev
8abff4773f mdbx: rework ID2L.
Change-Id: Ia5b47bcceb176c994bfe59373242f8622389697e
2018-09-12 19:29:25 +03:00
Leonid Yuriev
25fc9305dd mdbx: add MDBX_WORDBITS, update MAX_PAGENO.
Change-Id: Ibb0425cee9fd2870298e25f82ab094e57ac63f96
2018-09-12 19:28:51 +03:00
Leonid Yuriev
93a71c29e7 mdbx: add mdbx_mid2l_sort().
Change-Id: Ib70a46063611b0657b34524d268b2ee5bd9b1eb8
2018-09-12 19:27:23 +03:00
Leonid Yuriev
30b084724a mdbx: setup mdbx_cmp_memn() as data-comparator for safety. 2018-09-12 19:25:12 +03:00
Leonid Yuriev
e3ff19a722 mdbx: check comparator for MDBX_GET_BOTH and MDBX_GET_BOTH_RANGE. 2018-09-12 19:24:34 +03:00