pub struct UpdatePlan {
pub target_id: Uuid,
pub statements: Vec<PlanStatement>,
pub post_commit: PostCommitEffect,
pub edge_natural_key: Option<EdgeNaturalKey>,
}Expand description
Write plan for an update op (entity or note shape — ADR-099 D3’s
update caveat covers both substrates the same way: row/FTS DML in the
plan, any reindex deferred to post_commit).
Fields§
§target_id: UuidThe id of the entity or note being updated. For a symmetric edge
update this is the CALLER’s requested id — advisory only, never the
basis for post-commit result rendering (see EdgeNaturalKey).
statements: Vec<PlanStatement>Row + FTS DML statements to apply inside the atomic unit, in order. The row-update statement carries the existence guard; any FTS-mirror statement that follows it is unguarded (its target row’s existence was already asserted by the row-update statement’s own guard).
post_commit: PostCommitEffectDeferred reindex, if the update changed name/description/content.
edge_natural_key: Option<EdgeNaturalKey>Some only for a symmetric edge update — the natural key a caller
must use to derive the committed surviving row post-commit, rather
than trusting target_id. None for every other update shape
(entity, note, non-symmetric edge), where target_id alone is
already an exact, non-advisory identifier.
Trait Implementations§
Source§impl Clone for UpdatePlan
impl Clone for UpdatePlan
Source§fn clone(&self) -> UpdatePlan
fn clone(&self) -> UpdatePlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more