From 83e6d8e49347a1ab6ee5519fdb155abb9f563b87 Mon Sep 17 00:00:00 2001 From: Howard Chu <hyc@symas.com> Date: Sat, 21 Jan 2012 08:18:37 -0800 Subject: [PATCH] ITS#7121 fix page splits when newindx == 0 --- libraries/libmdb/mdb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c index cdd46c98d7..9480a4339e 100644 --- a/libraries/libmdb/mdb.c +++ b/libraries/libmdb/mdb.c @@ -5585,6 +5585,8 @@ newsep: ins_new = 1; /* Update page and index for the new key. */ + if (!newindx) + mc->mc_pg[mc->mc_top] = copy; mc->mc_ki[mc->mc_top] = j; } else if (i == nkeys) { break; @@ -5620,7 +5622,7 @@ newsep: mc->mc_txn->mt_env->me_psize - copy->mp_upper); /* reset back to original page */ - if (newindx < split_indx) { + if (!newindx || (newindx < split_indx)) { mc->mc_pg[mc->mc_top] = mp; if (nflags & MDB_RESERVE) { node = NODEPTR(mp, mc->mc_ki[mc->mc_top]); -- GitLab