pub struct SharedDocumentRow { /* private fields */ }Expand description
A positional projection that shares an in-memory document’s stored values.
Persistent backends still decode owned rows through the ordinary bulk methods. The memory backend exposes this optional representation so a physical scan can carry storage-owned values through joins without cloning them.
Implementations§
Sourcepub fn project<'a>(&'a self, output: &mut Vec<&'a Value>)
pub fn project<'a>(&'a self, output: &mut Vec<&'a Value>)
Populate a reusable borrowed projection for predicate evaluation.
Sourcepub fn with_projected<R>(&self, visitor: impl FnOnce(&[&Value]) -> R) -> R
pub fn with_projected<R>(&self, visitor: impl FnOnce(&[&Value]) -> R) -> R
Borrow the projection through an inline reference array. Relational tables normally have far fewer than 32 requested fields, so predicate evaluation needs no scratch allocation.
Sourcepub fn indexed_values(&self) -> (&[Value], &[usize])
pub fn indexed_values(&self) -> (&[Value], &[usize])
Borrow the storage-owned values and the projection from requested field positions to value slots. A usize::MAX projection slot represents a missing field and therefore SQL NULL.
Trait Implementations§
Source§fn clone(&self) -> SharedDocumentRow
fn clone(&self) -> SharedDocumentRow
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 moreAuto Trait Implementations§
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