Struct lance_table::rowids::RowIdIndex
source · pub struct RowIdIndex(/* private fields */);Expand description
An index of row ids
This index is used to map row ids to their corresponding addresses. These addresses correspond to physical positions in the dataset. See RowAddress.
This structure only contains rows that physically exist. However, it may map to addresses that have been tombstoned. A separate tombstone index is used to track tombstoned rows.
Implementations§
source§impl RowIdIndex
impl RowIdIndex
sourcepub fn new(fragment_indices: &[(u32, RowIdSequence)]) -> Result<Self>
pub fn new(fragment_indices: &[(u32, RowIdSequence)]) -> Result<Self>
Create a new index from a list of fragment ids and their corresponding row id sequences.
sourcepub fn get(&self, row_id: u64) -> Option<RowAddress>
pub fn get(&self, row_id: u64) -> Option<RowAddress>
Get the address for a given row id.
Will return None if the row id does not exist in the index.
Auto Trait Implementations§
impl Freeze for RowIdIndex
impl RefUnwindSafe for RowIdIndex
impl Send for RowIdIndex
impl Sync for RowIdIndex
impl Unpin for RowIdIndex
impl UnwindSafe for RowIdIndex
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> 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