pub enum Boundedness {
Bounded,
Unbounded {
requires_infinite_memory: bool,
},
}
Expand description
Represents whether a stream of data generated by an operator is bounded (finite) or unbounded (infinite).
This is used to determine whether an execution plan will eventually complete processing all its data (bounded) or could potentially run forever (unbounded).
For unbounded streams, it also tracks whether the operator requires finite memory to process the stream or if memory usage could grow unbounded.
Boundedness of the output stream is based on the the boundedness of the input stream and the nature of the operator. For example, limit or topk with fetch operator can convert an unbounded stream to a bounded stream.
Variants§
Bounded
The data stream is bounded (finite) and will eventually complete
Unbounded
The data stream is unbounded (infinite) and could run forever
Fields
requires_infinite_memory: bool
Whether this operator requires infinite memory to process the unbounded stream. If false, the operator can process an infinite stream with bounded memory. If true, memory usage may grow unbounded while processing the stream.
For example, Median
requires infinite memory to compute the median of an unbounded stream.
Min/Max
requires infinite memory if the stream is unordered, but can be computed with bounded memory if the stream is ordered.
Implementations§
Source§impl Boundedness
impl Boundedness
pub fn is_unbounded(&self) -> bool
Trait Implementations§
Source§impl Clone for Boundedness
impl Clone for Boundedness
Source§fn clone(&self) -> Boundedness
fn clone(&self) -> Boundedness
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for Boundedness
impl Debug for Boundedness
Source§impl PartialEq for Boundedness
impl PartialEq for Boundedness
impl Copy for Boundedness
impl Eq for Boundedness
impl StructuralPartialEq for Boundedness
Auto Trait Implementations§
impl Freeze for Boundedness
impl RefUnwindSafe for Boundedness
impl Send for Boundedness
impl Sync for Boundedness
impl Unpin for Boundedness
impl UnwindSafe for Boundedness
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<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
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>
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