If nothing is selected to write to disk, i.e., the ondisk value should not change, we clear the start_ts and stop_ts to 0:
WT_ERR(__wt_rec_upd_select(session, r, ins, cip, vpack, &upd_select)); upd = upd_select.upd; if (upd == NULL) { /* * TIMESTAMP-FIXME I'm pretty sure this is wrong: a NULL update means an item * was deleted, and I think that requires a tombstone on the page. */ durable_ts = WT_TS_NONE; start_ts = WT_TS_NONE; start_txn = WT_TXN_NONE; stop_ts = WT_TS_MAX; stop_txn = WT_TXN_MAX;
Later we assign last.start_ts and last.stop_txn to start_ts and start_txn:
last.start_ts = start_ts; last.start_txn = start_txn; last.stop_ts = stop_ts; last.stop_txn = stop_txn; last.deleted = deleted; rle = repeat_count;
Finally we write the cell with last.start_ts and last.stop_ts to cell:
/* If we were tracking a record, write it. */ if (rle != 0) WT_ERR(__rec_col_var_helper(session, r, salvage, last.value, durable_ts, last.start_ts, last.start_txn, last.stop_ts, last.stop_txn, rle, last.deleted, false));
- is depended on by
-
WT-5336 Search las table doesn't always place the cursor at the right place
- Closed