mdbx: backport - ITS#8310 fix mdb_rebalance cursor fixup.

When collapsing root, must adjust entire cursor stack

Change-Id: If62c42f556311e785aa414954a3d7fddc077cf62
This commit is contained in:
Howard Chu
2015-11-13 09:25:55 +00:00
committed by Leo Yuriev
parent 01f5b5e209
commit 380c61bcf7
2 changed files with 3 additions and 2 deletions

4
mdb.c
View File

@@ -8103,9 +8103,9 @@ mdb_rebalance(MDB_cursor *mc)
m3 = &m2->mc_xcursor->mx_cursor;
else
m3 = m2;
if (m3 == mc || m3->mc_snum < mc->mc_snum) continue;
if (m3 == mc) continue;
if (m3->mc_pg[0] == mp) {
for (i=0; i<m3->mc_snum; i++) {
for (i=0; i<mc->mc_db->md_depth; i++) {
m3->mc_pg[i] = m3->mc_pg[i+1];
m3->mc_ki[i] = m3->mc_ki[i+1];
}