ITS#7815 more for page_split

This case didn't come up in testing. Needs finer grained test.
incre
Howard Chu 11 years ago
parent 0e7fba73b7
commit 797ff136a8
  1. 8
      libraries/liblmdb/mdb.c

@ -7765,7 +7765,13 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
mc->mc_ki[i] = mn.mc_ki[i]; mc->mc_ki[i] = mn.mc_ki[i];
} }
mc->mc_pg[ptop] = mn.mc_pg[ptop]; mc->mc_pg[ptop] = mn.mc_pg[ptop];
mc->mc_ki[ptop] = mn.mc_ki[ptop] - 1; if (mn.mc_ki[ptop]) {
mc->mc_ki[ptop] = mn.mc_ki[ptop] - 1;
} else {
/* find right page's left sibling */
mc->mc_ki[ptop] = mn.mc_ki[ptop];
mdb_cursor_sibling(mc, 0);
}
} }
} else { } else {
mn.mc_top--; mn.mc_top--;

Loading…
Cancel
Save