ITS#8238 fix DUPFIXED page_split
authorHoward Chu <hyc@openldap.org>
Wed, 4 Nov 2015 18:11:12 +0000 (18:11 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 4 Nov 2015 18:12:33 +0000 (18:12 +0000)
Parent mc_ki wasn't adjusted if new_indx was > split point

libraries/liblmdb/mdb.c

index 353ff4a..317ba5e 100644 (file)
@@ -8419,6 +8419,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
                                rp->mp_upper -= ksize - sizeof(indx_t);
                                mc->mc_ki[mc->mc_top] = x;
                                mc->mc_pg[mc->mc_top] = rp;
+                               mc->mc_ki[ptop]++;
                        }
                } else {
                        int psize, nsize, k;