ITS#8316 cursor fixup in page_merge

Deleting the merged page requires bumping down other ki's
of the page's parent.
mdb.RE/0.9
Howard Chu 9 years ago
parent 657dbcc811
commit 28b57ba8b9
  1. 3
      libraries/liblmdb/mdb.c

@ -7842,6 +7842,9 @@ mdb_page_merge(MDB_cursor *csrc, MDB_cursor *cdst)
m3->mc_pg[top] = pdst; m3->mc_pg[top] = pdst;
m3->mc_ki[top] += nkeys; m3->mc_ki[top] += nkeys;
m3->mc_ki[top-1] = cdst->mc_ki[top-1]; m3->mc_ki[top-1] = cdst->mc_ki[top-1];
} else if (m3->mc_pg[top-1] == csrc->mc_pg[top-1] &&
m3->mc_ki[top-1] > csrc->mc_ki[top-1]) {
m3->mc_ki[top-1]--;
} }
} }
} }

Loading…
Cancel
Save