pub struct OwnedPhysicalRow {
pub schema: RowSchema,
pub row: PhysicalRow,
}Expand description
Owned schema/row pair for row-at-a-time consumers that must outlive a decoded batch. Cloning this carrier shares the immutable schema index and row fragments; it does not build a named row or clone contained values.
Fields§
§schema: RowSchema§row: PhysicalRowImplementations§
Source§impl OwnedPhysicalRow
impl OwnedPhysicalRow
pub fn new(schema: RowSchema, row: PhysicalRow) -> Self
pub fn view(&self) -> PhysicalRowView<'_>
pub fn get(&self, name: &str) -> Option<&Value>
Sourcepub fn relabel(self, schema: RowSchema) -> ExecResult<Self>
pub fn relabel(self, schema: RowSchema) -> ExecResult<Self>
Apply a new logical schema by position while sharing the existing value fragments. Relation aliases and derived-column names therefore do not require an intermediate named row.
pub fn into_result_row(self) -> ResultRow
Trait Implementations§
Source§impl Clone for OwnedPhysicalRow
impl Clone for OwnedPhysicalRow
Source§fn clone(&self) -> OwnedPhysicalRow
fn clone(&self) -> OwnedPhysicalRow
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 moreSource§impl Debug for OwnedPhysicalRow
impl Debug for OwnedPhysicalRow
Source§impl PartialEq for OwnedPhysicalRow
impl PartialEq for OwnedPhysicalRow
Source§impl RowLookup for OwnedPhysicalRow
impl RowLookup for OwnedPhysicalRow
fn column(&self, name: &str) -> Option<&Value>
Source§fn column_is_ambiguous(&self, name: &str) -> bool
fn column_is_ambiguous(&self, name: &str) -> bool
Whether an unqualified name identifies more than one visible input
column. Callers must report SQLSTATE 42702 instead of selecting an
arbitrary suffix match.
fn qualified_column(&self, qualifier: &str, column: &str) -> Option<&Value>
Source§fn qualified_column_is_ambiguous(&self, qualifier: &str, column: &str) -> bool
fn qualified_column_is_ambiguous(&self, qualifier: &str, column: &str) -> bool
Whether a qualified identity names more than one visible input column.
Source§fn positional_column(&self, index: usize) -> Option<&Value>
fn positional_column(&self, index: usize) -> Option<&Value>
Return a value by the physical schema position used to construct this
row view. Materialized named rows do not expose positional access;
projected execution sources override it so compiled hot paths can avoid
repeating string lookup for every expression and row.
Source§fn visit_columns(&self, visitor: &mut dyn FnMut(&str, &Value))
fn visit_columns(&self, visitor: &mut dyn FnMut(&str, &Value))
Visit every logical column in schema order. Named rows use their map
order; positional execution rows override this without materializing a
map. The default keeps narrow projected lookup implementations source
compatible when they deliberately do not expose whole-row semantics.
impl StructuralPartialEq for OwnedPhysicalRow
Auto Trait Implementations§
impl Freeze for OwnedPhysicalRow
impl RefUnwindSafe for OwnedPhysicalRow
impl Send for OwnedPhysicalRow
impl Sync for OwnedPhysicalRow
impl Unpin for OwnedPhysicalRow
impl UnsafeUnpin for OwnedPhysicalRow
impl UnwindSafe for OwnedPhysicalRow
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
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> ⓘ
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