pub enum EvaluationType {
Lazy,
Eager,
}Expand description
Represents how an operator’s stream drives RecordBatch production
relative to downstream demand.
This is execution-topology metadata for optimizers. It distinguishes streams
whose batch production is driven directly by downstream calls to
Stream::poll_next from streams that may also drive input or output
production independently, such as by spawning tasks or buffering batches
ahead of demand.
Variants§
Lazy
The stream generated by execute is
demand-driven: it produces RecordBatches in response to downstream
calls to Stream::poll_next.
Filter, projection, and join operators are examples of lazy operators.
Lazy operators are also known as demand-driven operators.
Eager
The stream generated by execute may drive
input or output RecordBatch production ahead of, or independently
from, downstream calls to Stream::poll_next.
Eager operators commonly poll input streams from spawned Tokio tasks,
buffer batches ahead of demand, or otherwise create an independent
child-polling pipeline. Eager work may start when execute creates the
stream or when the returned stream is first polled; that timing is an
implementation detail.
Repartition, coalesce partitions, sort-preserving merge, buffer, and analyze operators are examples of eager operators.
Eager operators are also known as a data-driven operators.
Trait Implementations§
Source§impl Clone for EvaluationType
impl Clone for EvaluationType
Source§fn clone(&self) -> EvaluationType
fn clone(&self) -> EvaluationType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for EvaluationType
Source§impl Debug for EvaluationType
impl Debug for EvaluationType
impl Eq for EvaluationType
Source§impl PartialEq for EvaluationType
impl PartialEq for EvaluationType
impl StructuralPartialEq for EvaluationType
Auto Trait Implementations§
impl Freeze for EvaluationType
impl RefUnwindSafe for EvaluationType
impl Send for EvaluationType
impl Sync for EvaluationType
impl Unpin for EvaluationType
impl UnsafeUnpin for EvaluationType
impl UnwindSafe for EvaluationType
Blanket Implementations§
impl<T> Allocation for T
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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