ITS#7229 additional tweaks

Should probably compare nsize to pg_size/4 instead...
vmware
Howard Chu 13 years ago
parent de0cb27d70
commit ae027b5214
  1. 4
      libraries/libmdb/mdb.c

@ -5711,7 +5711,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
} }
nkeys = NUMKEYS(mp); nkeys = NUMKEYS(mp);
split_indx = nkeys / 2 + 1; split_indx = (nkeys + 1) / 2;
if (IS_LEAF2(rp)) { if (IS_LEAF2(rp)) {
char *split, *ins; char *split, *ins;
@ -5765,7 +5765,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
* When the size of the data items is much smaller than * When the size of the data items is much smaller than
* one-half of a page, this check is irrelevant. * one-half of a page, this check is irrelevant.
*/ */
if (IS_LEAF(mp) && nkeys < 4) { if (IS_LEAF(mp) && nkeys < 16) {
unsigned int psize, nsize; unsigned int psize, nsize;
/* Maximum free space in an empty page */ /* Maximum free space in an empty page */
pmax = mc->mc_txn->mt_env->me_psize - PAGEHDRSZ; pmax = mc->mc_txn->mt_env->me_psize - PAGEHDRSZ;

Loading…
Cancel
Save