summaryrefslogtreecommitdiff
path: root/src/btree/bt_curnext.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/btree/bt_curnext.c')
-rw-r--r--src/btree/bt_curnext.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/btree/bt_curnext.c b/src/btree/bt_curnext.c
index d80a5f4740d..5e866dc9233 100644
--- a/src/btree/bt_curnext.c
+++ b/src/btree/bt_curnext.c
@@ -144,7 +144,8 @@ new_page: if (cbt->ins == NULL)
if ((upd = __wt_txn_read(session, cbt->ins->upd)) == NULL)
continue;
if (WT_UPDATE_DELETED_ISSET(upd)) {
- ++cbt->page_deleted_count;
+ if (__wt_txn_visible_all(session, upd->txnid))
+ ++cbt->page_deleted_count;
continue;
}
val->data = WT_UPDATE_DATA(upd);
@@ -200,7 +201,8 @@ new_page: /* Find the matching WT_COL slot. */
NULL : __wt_txn_read(session, cbt->ins->upd);
if (upd != NULL) {
if (WT_UPDATE_DELETED_ISSET(upd)) {
- ++cbt->page_deleted_count;
+ if (__wt_txn_visible_all(session, upd->txnid))
+ ++cbt->page_deleted_count;
continue;
}
@@ -285,7 +287,8 @@ new_insert: if ((ins = cbt->ins) != NULL) {
if ((upd = __wt_txn_read(session, ins->upd)) == NULL)
continue;
if (WT_UPDATE_DELETED_ISSET(upd)) {
- ++cbt->page_deleted_count;
+ if (__wt_txn_visible_all(session, upd->txnid))
+ ++cbt->page_deleted_count;
continue;
}
key->data = WT_INSERT_KEY(ins);
@@ -317,7 +320,8 @@ new_insert: if ((ins = cbt->ins) != NULL) {
rip = &page->pg_row_d[cbt->slot];
upd = __wt_txn_read(session, WT_ROW_UPDATE(page, rip));
if (upd != NULL && WT_UPDATE_DELETED_ISSET(upd)) {
- ++cbt->page_deleted_count;
+ if (__wt_txn_visible_all(session, upd->txnid))
+ ++cbt->page_deleted_count;
continue;
}