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 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: boolWhether 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<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