summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/txn.i11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/include/txn.i b/src/include/txn.i
index d7d958e801e..4cf6653d988 100644
--- a/src/include/txn.i
+++ b/src/include/txn.i
@@ -457,13 +457,10 @@ __wt_txn_cursor_op(WT_SESSION_IMPL *session)
* further forward, so that once a read-uncommitted cursor is
* positioned on a value, it can't be freed.
*/
- if (txn->isolation == WT_ISO_READ_UNCOMMITTED &&
- !F_ISSET(txn, WT_TXN_HAS_ID) &&
- WT_TXNID_LT(txn_state->snap_min, txn_global->last_running))
- txn_state->snap_min = txn_global->last_running;
-
- if (txn->isolation != WT_ISO_READ_UNCOMMITTED &&
- !F_ISSET(txn, WT_TXN_HAS_SNAPSHOT))
+ if (txn->isolation == WT_ISO_READ_UNCOMMITTED) {
+ if (txn_state->snap_min == WT_TXN_NONE)
+ txn_state->snap_min = txn_global->last_running;
+ } else if (!F_ISSET(txn, WT_TXN_HAS_SNAPSHOT))
__wt_txn_get_snapshot(session);
}