pub enum OrderPattern {
None,
SourceSatisfied,
TopK {
k: usize,
},
WindowLocal,
PerGroupTopK {
k: usize,
partition_columns: Vec<String>,
rank_type: RankType,
},
Unbounded,
}Expand description
Classification of ORDER BY pattern for streaming safety.
Variants§
None
No ORDER BY present.
SourceSatisfied
Source already satisfies the ordering (elided by DataFusion).
TopK
ORDER BY … LIMIT N — bounded top-K.
WindowLocal
ORDER BY inside a windowed aggregation — bounded by window.
PerGroupTopK
ROW_NUMBER() / RANK() / DENSE_RANK() OVER (PARTITION BY … ORDER BY …) WHERE rn <= N.
Fields
Unbounded
Unbounded ORDER BY on an unbounded stream — rejected.
Trait Implementations§
Source§impl Clone for OrderPattern
impl Clone for OrderPattern
Source§fn clone(&self) -> OrderPattern
fn clone(&self) -> OrderPattern
Returns a duplicate 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 OrderPattern
impl Debug for OrderPattern
Source§impl PartialEq for OrderPattern
impl PartialEq for OrderPattern
impl Eq for OrderPattern
impl StructuralPartialEq for OrderPattern
Auto Trait Implementations§
impl Freeze for OrderPattern
impl RefUnwindSafe for OrderPattern
impl Send for OrderPattern
impl Sync for OrderPattern
impl Unpin for OrderPattern
impl UnsafeUnpin for OrderPattern
impl UnwindSafe for OrderPattern
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§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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