diff options
Diffstat (limited to 'src/btree')
-rw-r--r-- | src/btree/bt_curnext.c | 12 | ||||
-rw-r--r-- | src/btree/bt_curprev.c | 12 |
2 files changed, 16 insertions, 8 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; } diff --git a/src/btree/bt_curprev.c b/src/btree/bt_curprev.c index f1ca81ee145..08388938080 100644 --- a/src/btree/bt_curprev.c +++ b/src/btree/bt_curprev.c @@ -281,7 +281,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); @@ -338,7 +339,8 @@ new_page: if (cbt->recno < page->pg_var_recno) 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; } @@ -434,7 +436,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); @@ -468,7 +471,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; } |