pub enum ColumnLayout {
Identity {
column_count: usize,
},
Mapped {
offsets: Vec<usize>,
non_virtual_col_count: usize,
},
}Expand description
Maps schema column indices to register offsets for DML operations.
Variants§
Implementations§
Source§impl ColumnLayout
impl ColumnLayout
pub fn from_table(table: &Table) -> Result<Self, TryReserveError>
pub fn from_btree(btree: &BTreeTable) -> Result<Self, TryReserveError>
pub fn from_columns(columns: &[Column]) -> Result<Self, TryReserveError>
Sourcepub fn to_reg_offset(&self, col_idx: usize) -> usize
pub fn to_reg_offset(&self, col_idx: usize) -> usize
Map a schema column index to its register offset.
Sourcepub fn to_register(&self, base: usize, schema_idx: usize) -> usize
pub fn to_register(&self, base: usize, schema_idx: usize) -> usize
Resolve schema column index to an absolute register.
pub fn num_non_virtual_cols(&self) -> usize
pub fn column_count(&self) -> usize
pub fn column_idx_for_offset(&self, offset: usize) -> Option<usize>
Trait Implementations§
Source§impl Clone for ColumnLayout
impl Clone for ColumnLayout
Source§fn clone(&self) -> ColumnLayout
fn clone(&self) -> ColumnLayout
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§
impl Freeze for ColumnLayout
impl RefUnwindSafe for ColumnLayout
impl Send for ColumnLayout
impl Sync for ColumnLayout
impl Unpin for ColumnLayout
impl UnsafeUnpin for ColumnLayout
impl UnwindSafe for ColumnLayout
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
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