pub struct NativePageCursor { /* private fields */ }Expand description
A forward cursor over a single sorted run that yields the projected columns
of surviving rows, page by page. Built by crate::engine::Table.
All MVCC visibility and predicate resolution is settled at construction
(the PagePlans); Self::next_batch is pure lazy column decode + gather.
Implementations§
Source§impl NativePageCursor
impl NativePageCursor
Sourcepub fn projection_types(&self) -> Vec<TypeId>
pub fn projection_types(&self) -> Vec<TypeId>
The projected column types, in output order.
Sourcepub fn remaining_rows(&self) -> usize
pub fn remaining_rows(&self) -> usize
Total surviving rows still to be yielded across all remaining plans plus the overlay (the scan’s exact output row count, without decoding pages).
Sourcepub fn next_batch(&mut self) -> Result<Option<Vec<NativeColumn>>>
pub fn next_batch(&mut self) -> Result<Option<Vec<NativeColumn>>>
Decode the next surviving page’s projected columns, gathered to that
page’s survivor positions. Returns None when no pages remain. The
overlay batch (if any) is yielded as the final batch.
Trait Implementations§
Source§impl Cursor for NativePageCursor
impl Cursor for NativePageCursor
Source§fn next_batch(&mut self) -> Result<Option<Vec<NativeColumn>>>
fn next_batch(&mut self) -> Result<Option<Vec<NativeColumn>>>
Decode the next batch of survivor rows as projected native columns, in
ascending
RowId order. None when the stream is exhausted.Source§fn remaining_rows(&self) -> usize
fn remaining_rows(&self) -> usize
Exact count of surviving rows still to be yielded (without decoding).
Source§fn projection_types(&self) -> Vec<TypeId>
fn projection_types(&self) -> Vec<TypeId>
The projected column types, in output order.
Auto Trait Implementations§
impl !RefUnwindSafe for NativePageCursor
impl !UnwindSafe for NativePageCursor
impl Freeze for NativePageCursor
impl Send for NativePageCursor
impl Sync for NativePageCursor
impl Unpin for NativePageCursor
impl UnsafeUnpin for NativePageCursor
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> 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