pub struct ShapeObservation {
pub generation: u64,
pub self_healed: bool,
pub first_seen: bool,
}Expand description
Outcome of observing a freshly-described shape for a SQL statement.
Fields§
§generation: u64Per-key generation counter. Starts at 1 on first sight and increments by exactly one on every self-heal; it is monotonic and never decreases, so a caller can use it as a version stamp for a cached decode plan.
self_healed: boolTrue when the observed shape differed from the cached one, so the cache invalidated the stale record and adopted the fresh shape. Self-heal only ever heals down (invalidate + re-record); it never loosens.
first_seen: boolTrue only for the very first observation of this key (no prior shape).
Implementations§
Source§impl ShapeObservation
impl ShapeObservation
Sourcepub fn requires_rebind(&self) -> bool
pub fn requires_rebind(&self) -> bool
Whether the caller must re-describe / drop any retained decode plan for this SQL before decoding (true exactly when a cross-connection shape change was just healed).
Trait Implementations§
Source§impl Clone for ShapeObservation
impl Clone for ShapeObservation
Source§fn clone(&self) -> ShapeObservation
fn clone(&self) -> ShapeObservation
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ShapeObservation
Source§impl Debug for ShapeObservation
impl Debug for ShapeObservation
impl Eq for ShapeObservation
Source§impl PartialEq for ShapeObservation
impl PartialEq for ShapeObservation
impl StructuralPartialEq for ShapeObservation
Auto Trait Implementations§
impl Freeze for ShapeObservation
impl RefUnwindSafe for ShapeObservation
impl Send for ShapeObservation
impl Sync for ShapeObservation
impl Unpin for ShapeObservation
impl UnsafeUnpin for ShapeObservation
impl UnwindSafe for ShapeObservation
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).