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
-