pub struct PlanStatement {
pub statement: SqlStatement,
pub guard: Option<AffectedRowGuard>,
}Expand description
One statement in a plan, paired with the guard (if any) that validates
it. Runner contract: a present guard is checked against the
affected-row count of applying statement alone (SqlWriter::execute’s
return value), or the result-row count for a GTD no-op read assertion,
not a batch total and not another statement’s count.
guard: None means prepare made no row-existence
assumption about this particular statement (e.g. a cascade delete that
may legitimately touch zero rows).
Fields§
§statement: SqlStatementThe DML, or GTD no-op SELECT assertion, to apply inside the atomic unit.
guard: Option<AffectedRowGuard>The expected-effect guard for statement, if prepare’s validation
assumed a target row exists for it.
Trait Implementations§
Source§impl Clone for PlanStatement
impl Clone for PlanStatement
Auto Trait Implementations§
impl Freeze for PlanStatement
impl RefUnwindSafe for PlanStatement
impl Send for PlanStatement
impl Sync for PlanStatement
impl Unpin for PlanStatement
impl UnsafeUnpin for PlanStatement
impl UnwindSafe for PlanStatement
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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