ITS#8310 fix mdb_rebalance cursor fixup

When collapsing root, must adjust entire cursor stack
mdb.RE/0.9
Howard Chu 9 years ago
parent 79b12bbd7b
commit a90415f301
  1. 4
      libraries/liblmdb/mdb.c

@ -7970,9 +7970,9 @@ mdb_rebalance(MDB_cursor *mc)
m3 = &m2->mc_xcursor->mx_cursor; m3 = &m2->mc_xcursor->mx_cursor;
else else
m3 = m2; m3 = m2;
if (m3 == mc || m3->mc_snum < mc->mc_snum) continue; if (m3 == mc) continue;
if (m3->mc_pg[0] == mp) { 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_pg[i] = m3->mc_pg[i+1];
m3->mc_ki[i] = m3->mc_ki[i+1]; m3->mc_ki[i] = m3->mc_ki[i+1];
} }

Loading…
Cancel
Save