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 moreAuto Trait Implementations§
impl Freeze for UpdatePlan
impl RefUnwindSafe for UpdatePlan
impl Send for UpdatePlan
impl Sync for UpdatePlan
impl Unpin for UpdatePlan
impl UnsafeUnpin for UpdatePlan
impl UnwindSafe for UpdatePlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more