Struct mz_expr::row::collection::SortedRowCollectionIter
source · pub struct SortedRowCollectionIter {
collection: SortedRowCollection,
row_idx: usize,
diff_idx: usize,
limit: Option<usize>,
offset: usize,
projection: Option<Vec<usize>>,
projection_buf: (DatumVec, Row),
}
Fields§
§collection: SortedRowCollection
Collection we’re iterating over.
row_idx: usize
Index for the row we’re currently referencing.
diff_idx: usize
Number of diffs we’ve emitted for the current row.
limit: Option<usize>
Maximum number of rows this iterator will yield.
offset: usize
Number of rows we’re offset by.
Note: We eagerly apply an offset, but we track it here so we can
accurately report RowIterator::count
.
projection: Option<Vec<usize>>
Columns to underlying rows to include.
projection_buf: (DatumVec, Row)
Allocations that we reuse for every iteration to project columns.
Implementations§
source§impl SortedRowCollectionIter
impl SortedRowCollectionIter
sourcepub fn into_inner(self) -> SortedRowCollection
pub fn into_inner(self) -> SortedRowCollection
Returns the inner SortedRowCollection
.
sourcepub fn apply_offset(self, offset: usize) -> SortedRowCollectionIter
pub fn apply_offset(self, offset: usize) -> SortedRowCollectionIter
Immediately applies an offset to this iterator.
sourcepub fn with_limit(self, limit: usize) -> SortedRowCollectionIter
pub fn with_limit(self, limit: usize) -> SortedRowCollectionIter
Sets the limit for this iterator.
sourcepub fn with_projection(self, projection: Vec<usize>) -> SortedRowCollectionIter
pub fn with_projection(self, projection: Vec<usize>) -> SortedRowCollectionIter
Specify the columns that should be yielded.
sourcefn advance_by(
collection: &SortedRowCollection,
row_idx: &mut usize,
diff_idx: &mut usize,
count: usize,
)
fn advance_by( collection: &SortedRowCollection, row_idx: &mut usize, diff_idx: &mut usize, count: usize, )
Helper method for implementing RowIterator
.
Advances the internal pointers by the specified amount.
Trait Implementations§
source§impl Clone for SortedRowCollectionIter
impl Clone for SortedRowCollectionIter
source§fn clone(&self) -> SortedRowCollectionIter
fn clone(&self) -> SortedRowCollectionIter
Returns a copy of the value. Read more
1.0.0 · 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 SortedRowCollectionIter
impl Debug for SortedRowCollectionIter
source§impl RowIterator for SortedRowCollectionIter
impl RowIterator for SortedRowCollectionIter
source§fn map<T, F>(self, f: F) -> MappedRowIterator<Self, F>
fn map<T, F>(self, f: F) -> MappedRowIterator<Self, F>
Maps the returned
RowRef
s from this RowIterator
.Auto Trait Implementations§
impl !Freeze for SortedRowCollectionIter
impl RefUnwindSafe for SortedRowCollectionIter
impl Send for SortedRowCollectionIter
impl Sync for SortedRowCollectionIter
impl Unpin for SortedRowCollectionIter
impl UnwindSafe for SortedRowCollectionIter
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T> IntoRowIterator for Twhere
T: RowIterator,
impl<T> IntoRowIterator for Twhere
T: RowIterator,
type Iter = T
fn into_row_iter(self) -> <T as IntoRowIterator>::Iter
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.