pub struct PhysicalRow { /* private fields */ }Expand description
A physical row owns no column names. Each fragment is created by a scan or
projection and shared thereafter; joining rows copies only Arc handles.
Implementations§
Source§impl PhysicalRow
impl PhysicalRow
Sourcepub fn into_physical_values(self) -> Vec<Value>
pub fn into_physical_values(self) -> Vec<Value>
Consume an owned row at a positional state boundary, moving uniquely owned fragments and cloning only shared or multiply referenced values.
Source§impl PhysicalRow
impl PhysicalRow
pub fn with_lock_origin(self, origin: RowLockOrigin) -> Self
pub fn with_lock_origins( self, origins: impl IntoIterator<Item = RowLockOrigin>, ) -> Self
pub fn lock_origins(&self) -> &[RowLockOrigin]
Sourcepub fn without_lock_origins(self) -> Self
pub fn without_lock_origins(self) -> Self
Drop row-lock lineage at an execution boundary that cannot expose a lockable base-row identity, such as a set operation.
Sourcepub fn discard_lock_origins_mut(&mut self)
pub fn discard_lock_origins_mut(&mut self)
Remove all row-lock identities without reallocating the row payload.
Sourcepub fn rebind_lock_origin_qualifiers(
self,
qualifier: impl Into<Arc<str>>,
) -> Self
pub fn rebind_lock_origin_qualifiers( self, qualifier: impl Into<Arc<str>>, ) -> Self
Point every lock origin at the visible source qualifier. Views, CTEs, and subqueries keep inner storage names so FOR UPDATE OF that alias locks only those origins after a join.
pub fn rebind_lock_origin_qualifiers_mut(&mut self, qualifier: Arc<str>)
Source§impl PhysicalRow
impl PhysicalRow
pub fn from_values(values: Vec<Value>) -> Self
Build a row by sharing a stored positional value vector and applying a fragment-local slot projection. Neither the values nor contained strings are cloned.
pub fn from_result_row(schema: &RowSchema, row: ResultRow) -> Self
pub fn nulls(width: usize) -> Self
pub fn append_values(self, values: Vec<Value>) -> Self
pub fn concat(left: &Self, right: &Self) -> Self
pub fn concat_left_owned(left: Self, right: &Self) -> Self
pub fn concat_right_owned(left: &Self, right: Self) -> Self
Sourcepub fn project_with_values(
&self,
values: impl IntoIterator<Item = RowProjectionValue>,
) -> Self
pub fn project_with_values( &self, values: impl IntoIterator<Item = RowProjectionValue>, ) -> Self
Build an output row from shared input slots and newly computed values while preserving their requested order and sharing row metadata.
pub fn fragment_count(&self) -> usize
Trait Implementations§
Source§impl Clone for PhysicalRow
impl Clone for PhysicalRow
Source§fn clone(&self) -> PhysicalRow
fn clone(&self) -> PhysicalRow
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PhysicalRow
impl Debug for PhysicalRow
Source§impl Default for PhysicalRow
impl Default for PhysicalRow
Source§fn default() -> PhysicalRow
fn default() -> PhysicalRow
Source§impl PartialEq for PhysicalRow
impl PartialEq for PhysicalRow
impl StructuralPartialEq for PhysicalRow
Auto Trait Implementations§
impl Freeze for PhysicalRow
impl RefUnwindSafe for PhysicalRow
impl Send for PhysicalRow
impl Sync for PhysicalRow
impl Unpin for PhysicalRow
impl UnsafeUnpin for PhysicalRow
impl UnwindSafe for PhysicalRow
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
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