#[non_exhaustive]pub struct WindowEvalContext<'a> {
pub most_recent_row: Option<&'a RecordBatch>,
}Expand description
Stream-level context passed to WindowExpr::evaluate_stateful.
This carries information that spans all partitions of the input, as
opposed to the per-partition state in PartitionBatches and
PartitionWindowAggStates. It is non_exhaustive so that fields can
be added without breaking implementors; construct it with
Default::default and the with_* builder methods.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.most_recent_row: Option<&'a RecordBatch>A single-row batch containing the most recent input row, whichever
partition that row belongs to. It is Some only when the input is
ordered by the first ORDER BY column across partitions (Linear
mode), in which case no future input row – in any partition – can
precede it in that column; implementations can use this bound to
decide whether pending window frames can be finalized before their
partition receives more data.
Implementations§
Source§impl<'a> WindowEvalContext<'a>
impl<'a> WindowEvalContext<'a>
Sourcepub fn with_most_recent_row(self, batch: Option<&'a RecordBatch>) -> Self
pub fn with_most_recent_row(self, batch: Option<&'a RecordBatch>) -> Self
Sets the most recent input row (see Self::most_recent_row).
Trait Implementations§
Source§impl<'a> Clone for WindowEvalContext<'a>
impl<'a> Clone for WindowEvalContext<'a>
Source§fn clone(&self) -> WindowEvalContext<'a>
fn clone(&self) -> WindowEvalContext<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<'a> Copy for WindowEvalContext<'a>
Source§impl<'a> Debug for WindowEvalContext<'a>
impl<'a> Debug for WindowEvalContext<'a>
Source§impl<'a> Default for WindowEvalContext<'a>
impl<'a> Default for WindowEvalContext<'a>
Source§fn default() -> WindowEvalContext<'a>
fn default() -> WindowEvalContext<'a>
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for WindowEvalContext<'a>
impl<'a> !UnwindSafe for WindowEvalContext<'a>
impl<'a> Freeze for WindowEvalContext<'a>
impl<'a> Send for WindowEvalContext<'a>
impl<'a> Sync for WindowEvalContext<'a>
impl<'a> Unpin for WindowEvalContext<'a>
impl<'a> UnsafeUnpin for WindowEvalContext<'a>
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
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