pub struct RowMap {
pub num_rows: usize,
/* private fields */
}Fields§
§num_rows: usizeImplementations§
Source§impl RowMap
impl RowMap
Sourcepub fn key(&self, row_idx: usize) -> u64
pub fn key(&self, row_idx: usize) -> u64
Get a key at the given row index. Requires keys_data to be loaded (via load_full_keys). For point queries, use ColumnarSSTable::find_row_by_key which uses the sparse fence index instead.
Sourcepub fn has_full_keys_loaded(&self) -> bool
pub fn has_full_keys_loaded(&self) -> bool
Check if full keys data has been loaded (for scan paths).
Sourcepub fn keys_file_offset(&self) -> u64
pub fn keys_file_offset(&self) -> u64
Get the file offset where the full keys array starts.
Sourcepub fn fence_keys(&self) -> &[u64]
pub fn fence_keys(&self) -> &[u64]
Get the sparse fence keys for binary search.
Sourcepub fn fence_interval(&self) -> usize
pub fn fence_interval(&self) -> usize
Get the fence interval (rows per fence entry).
Sourcepub fn timestamp(&self, _row_idx: usize) -> u64
pub fn timestamp(&self, _row_idx: usize) -> u64
Read a timestamp at the given row index. Timestamps are NOT stored in the RowMap. Use timestamp_loaded() after load_all_timestamps().
Sourcepub fn has_timestamps_loaded(&self) -> bool
pub fn has_timestamps_loaded(&self) -> bool
Check if timestamps have been lazy-loaded.
Sourcepub fn timestamp_loaded(&self, row_idx: usize) -> u64
pub fn timestamp_loaded(&self, row_idx: usize) -> u64
Get a timestamp from the lazy-loaded buffer.
Sourcepub fn find_fence_range(&self, target: u64) -> Option<(usize, usize)>
pub fn find_fence_range(&self, target: u64) -> Option<(usize, usize)>
Binary search using sparse fence index. Returns a row index RANGE [start, end) where the target key MAY exist. The caller reads a block of keys from disk to do the final lookup within this range. Returns None if the key is definitely not present.
Sourcepub fn find_key(&self, target: u64) -> Option<usize>
pub fn find_key(&self, target: u64) -> Option<usize>
Binary search for a key. Requires full keys to be loaded (scan path). For point queries, use ColumnarSSTable::find_row_by_key instead.
pub fn is_deleted(&self, row_idx: usize) -> bool
Sourcepub fn has_any_deleted(&self) -> bool
pub fn has_any_deleted(&self) -> bool
Check if ANY row is marked deleted. O(1) when deleted_bitmap is None (the common case — no deletions). Previously this was O(N/8) scanning the bitmap bytes on every scan.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RowMap
impl RefUnwindSafe for RowMap
impl Send for RowMap
impl Sync for RowMap
impl Unpin for RowMap
impl UnsafeUnpin for RowMap
impl UnwindSafe for RowMap
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
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,
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