Skip to main content

plan_put_raw

Function plan_put_raw 

Source
pub fn plan_put_raw(
    current: Option<&Record>,
    record: Record,
    expected: Option<Revision>,
    _now_ms: i64,
    cap: usize,
) -> PutPlan
Expand description

Decide a replication write (Store::put_raw, spec §3.2). Never re-stamps: a tombstone is an ordinary record here. A create that finds anything stored (live or tombstone) is a Conflict carrying it, so sync re-reads instead of turning a copy into a recreation that would resurrect a deleted record.

now_ms is deliberately unused: a replication write copies a record that already happened elsewhere, so it keeps the source’s created and updated (gonzalo#293). Stamping them here would make every sync look like an edit and lose when the record was really written. The parameter is kept so both planners share one signature, which is what lets a store hand either to its locked read→plan→write path.