diff options
author | Keith Bostic <keith.bostic@mongodb.com> | 2016-07-04 00:55:06 -0400 |
---|---|---|
committer | Michael Cahill <michael.cahill@mongodb.com> | 2016-07-29 16:13:30 +1000 |
commit | 24cd107c1d7a7402fc8397e4416323651279eaeb (patch) | |
tree | 32aed92bc2b53cc795e8ab5108d35799259697c5 | |
parent | 3dc8860451a88f531c94cf18b38df5a7a6487380 (diff) | |
download | mongo-24cd107c1d7a7402fc8397e4416323651279eaeb.tar.gz |
WT-2730 column-store incorrectly matches key slots on new pages (#2847)
Reset the column-store saved slot information on each new page, otherwise
it's possible for it to match the last page we were traversing.
(cherry picked from commit 51a4e1593d484efdd167f0c2477dcff811d0934c)
-rw-r--r-- | src/btree/bt_curnext.c | 1 | ||||
-rw-r--r-- | src/btree/bt_curprev.c | 1 | ||||
-rw-r--r-- | src/include/cursor.i | 1 |
3 files changed, 2 insertions, 1 deletions
diff --git a/src/btree/bt_curnext.c b/src/btree/bt_curnext.c index 70b3ba56e31..ddf31528ec3 100644 --- a/src/btree/bt_curnext.c +++ b/src/btree/bt_curnext.c @@ -179,6 +179,7 @@ __cursor_var_next(WT_CURSOR_BTREE *cbt, bool newpage) /* Initialize for each new page. */ if (newpage) { + cbt->cip_saved = NULL; cbt->last_standard_recno = __col_var_last_recno(cbt->ref); if (cbt->last_standard_recno == 0) return (WT_NOTFOUND); diff --git a/src/btree/bt_curprev.c b/src/btree/bt_curprev.c index 872f648446c..ad847671c12 100644 --- a/src/btree/bt_curprev.c +++ b/src/btree/bt_curprev.c @@ -325,6 +325,7 @@ __cursor_var_prev(WT_CURSOR_BTREE *cbt, bool newpage) /* Initialize for each new page. */ if (newpage) { + cbt->cip_saved = NULL; cbt->last_standard_recno = __col_var_last_recno(cbt->ref); if (cbt->last_standard_recno == 0) return (WT_NOTFOUND); diff --git a/src/include/cursor.i b/src/include/cursor.i index 553dd03f958..339ec2083ac 100644 --- a/src/include/cursor.i +++ b/src/include/cursor.i @@ -38,7 +38,6 @@ __cursor_pos_clear(WT_CURSOR_BTREE *cbt) cbt->ins_head = NULL; cbt->ins_stack[0] = NULL; - cbt->cip_saved = NULL; cbt->rip_saved = NULL; F_CLR(cbt, WT_CBT_POSITION_MASK); |