Skip to content

Commit 6b3141f

Browse files
committed
mdbx: fix counting of nested trees for multi-values/dupsort hives (v0.13.11-2-gea86a7d3).
1 parent 1d115d3 commit 6b3141f

File tree

10 files changed

+30
-17
lines changed

10 files changed

+30
-17
lines changed

ChangeLog.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,20 @@ Donations are welcome to ETH `0xD104d8f8B2dC312aaD74899F83EBf3EEBDC1EA3A`,
99
BTC `bc1qzvl9uegf2ea6cwlytnanrscyv8snwsvrc0xfsu`, SOL `FTCTgbHajoLVZGr8aEFWMzx3NDMyS5wXJgfeMTmJznRi`.
1010
Всё будет хорошо!
1111

12+
## v0.13.12 at a release engineering stage
13+
14+
The supporting release of a stable branch with bug fixes.
15+
16+
Appreciations:
17+
18+
- [Erigon](https://erigon.tech/) for sponsorship.
19+
20+
Fixes:
21+
22+
- Fixed the counting of nested trees in the `mdbx_chk` tool for a multi-values/dupsort hives (backport).
23+
24+
--------------------------------------------------------------------------------
25+
1226
## v0.13.11 "A7A5" (just as Stable) at 2026-01-30
1327

1428
The supporting release of a stable branch with bug fixes.

VERSION.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "git_describe": "v0.13.11-0-gb862eb08", "git_timestamp": "2026-01-30T16:04:44+03:00", "git_tree": "34a88ae65e76bbf3b9bcb0c2106dec18d2c067da", "git_commit": "b862eb08b77eccd4b8e8367a3276ffdea0d73de5", "semver": "0.13.11" }
1+
{ "git_describe": "v0.13.11-2-gea86a7d3", "git_timestamp": "2026-02-10T15:44:23+03:00", "git_tree": "6c6246e4db75b4380b96067073d2ce2449a500d6", "git_commit": "ea86a7d37821a8187c8cd39b61e1de030cfa39c8", "semver": "0.13.11.2" }

mdbx.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
#define xMDBX_ALLOY 1 /* alloyed build */
66

7-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
7+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
88

99
#define LIBMDBX_INTERNALS
1010
#define MDBX_DEPRECATED
@@ -13834,11 +13834,11 @@ typedef struct MDBX_chk_internal {
1383413834
bool got_break;
1383513835
bool write_locked;
1383613836
uint8_t scope_depth;
13837+
pgno_t last_nested_root;
1383713838

1383813839
MDBX_chk_table_t table_gc, table_main;
1383913840
int16_t *pagemap;
1384013841
MDBX_chk_table_t *last_lookup;
13841-
const void *last_nested;
1384213842
MDBX_chk_scope_t scope_stack[12];
1384313843
MDBX_chk_table_t *table[MDBX_MAX_DBI + CORE_DBS];
1384413844

@@ -14526,8 +14526,7 @@ __cold static int chk_pgvisitor(const size_t pgno, const unsigned npages, void *
1452614526
chk_v2a(chk, &tbl->name), tbl->flags, deep);
1452714527
nested = nullptr;
1452814528
}
14529-
} else
14530-
chk->last_nested = nullptr;
14529+
}
1453114530

1453214531
const char *pagetype_caption;
1453314532
bool branch = false;
@@ -14580,9 +14579,9 @@ __cold static int chk_pgvisitor(const size_t pgno, const unsigned npages, void *
1458014579
} else {
1458114580
pagetype_caption = (pagetype == page_leaf) ? "nested-leaf" : "nested-leaf-dupfix";
1458214581
tbl->pages.nested_leaf += 1;
14583-
if (chk->last_nested != nested) {
14582+
if (chk->last_nested_root != nested->root) {
1458414583
histogram_acc(height, &tbl->histogram.nested_tree);
14585-
chk->last_nested = nested;
14584+
chk->last_nested_root = nested->root;
1458614585
}
1458714586
if (height != nested->height)
1458814587
chk_object_issue(scope, "page", pgno, "wrong nested-tree height", "actual %i != %i dupsort-node %s", height,
@@ -37599,10 +37598,10 @@ __dll_export
3759937598
0,
3760037599
13,
3760137600
11,
37602-
0,
37601+
2,
3760337602
"", /* pre-release suffix of SemVer
37604-
0.13.11 */
37605-
{"2026-01-30T16:04:44+03:00", "34a88ae65e76bbf3b9bcb0c2106dec18d2c067da", "b862eb08b77eccd4b8e8367a3276ffdea0d73de5", "v0.13.11-0-gb862eb08"},
37603+
0.13.11.2 */
37604+
{"2026-02-10T15:44:23+03:00", "6c6246e4db75b4380b96067073d2ce2449a500d6", "ea86a7d37821a8187c8cd39b61e1de030cfa39c8", "v0.13.11-2-gea86a7d3"},
3760637605
sourcery};
3760737606

3760837607
__dll_export

mdbx.c++

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
33
/* clang-format off */
44

5-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
5+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
66

77
#define LIBMDBX_INTERNALS
88
#define MDBX_DEPRECATED

mdbx_chk.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/// \copyright SPDX-License-Identifier: Apache-2.0
1919
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
2020

21-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
21+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
2222

2323
#define LIBMDBX_INTERNALS
2424
#define MDBX_DEPRECATED

mdbx_copy.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/// \copyright SPDX-License-Identifier: Apache-2.0
1919
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
2020

21-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
21+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
2222

2323
#define LIBMDBX_INTERNALS
2424
#define MDBX_DEPRECATED

mdbx_drop.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/// \copyright SPDX-License-Identifier: Apache-2.0
1919
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
2020

21-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
21+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
2222

2323
#define LIBMDBX_INTERNALS
2424
#define MDBX_DEPRECATED

mdbx_dump.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/// \copyright SPDX-License-Identifier: Apache-2.0
1919
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
2020

21-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
21+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
2222

2323
#define LIBMDBX_INTERNALS
2424
#define MDBX_DEPRECATED

mdbx_load.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/// \copyright SPDX-License-Identifier: Apache-2.0
1919
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
2020

21-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
21+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
2222

2323
#define LIBMDBX_INTERNALS
2424
#define MDBX_DEPRECATED

mdbx_stat.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/// \copyright SPDX-License-Identifier: Apache-2.0
1919
/// \author Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> \date 2015-2026
2020

21-
#define MDBX_BUILD_SOURCERY 90c8567c0f319539000cf161230c67f127fd9cbcb5d35ad5b3b076b78b5dc48d_v0_13_11_0_gb862eb08
21+
#define MDBX_BUILD_SOURCERY bdee29627d22869c26aa5f0bd1cbf72ec0231c912eec531514f2f12f3a5f899d_v0_13_11_2_gea86a7d3
2222

2323
#define LIBMDBX_INTERNALS
2424
#define MDBX_DEPRECATED

0 commit comments

Comments
 (0)