pub enum EmissionType {
Incremental,
Final,
Both,
}
Expand description
Represents how an operator emits its output records.
This is used to determine whether an operator emits records incrementally as they arrive,
only emits a final result at the end, or can do both. Note that it generates the output – record batch with batch_size
rows
but it may still buffer data internally until it has enough data to emit a record batch or the source is exhausted.
For example, in the following plan:
SortExec [EmissionType::Final]
|_ on: [col1 ASC]
FilterExec [EmissionType::Incremental]
|_ pred: col2 > 100
CsvExec [EmissionType::Incremental]
|_ file: "data.csv"
- CsvExec emits records incrementally as it reads from the file
- FilterExec processes and emits filtered records incrementally as they arrive
- SortExec must wait for all input records before it can emit the sorted result, since it needs to see all values to determine their final order
Left joins can emit both incrementally and finally:
- Incrementally emit matches as they are found
- Finally emit non-matches after all input is processed
Variants§
Incremental
Records are emitted incrementally as they arrive and are processed
Final
Records are only emitted once all input has been processed
Both
Records can be emitted both incrementally and as a final result
Trait Implementations§
Source§impl Clone for EmissionType
impl Clone for EmissionType
Source§fn clone(&self) -> EmissionType
fn clone(&self) -> EmissionType
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 EmissionType
impl Debug for EmissionType
Source§impl PartialEq for EmissionType
impl PartialEq for EmissionType
impl Copy for EmissionType
impl Eq for EmissionType
impl StructuralPartialEq for EmissionType
Auto Trait Implementations§
impl Freeze for EmissionType
impl RefUnwindSafe for EmissionType
impl Send for EmissionType
impl Sync for EmissionType
impl Unpin for EmissionType
impl UnwindSafe for EmissionType
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§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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
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<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