diff options
Diffstat (limited to 'src/btree/bt_curnext.c')
-rw-r--r-- | src/btree/bt_curnext.c | 12 |
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; } |