pub struct SortColumn {
pub name: String,
pub descending: bool,
pub nulls_first: bool,
}Expand description
Declares a column’s sort ordering for a streaming source.
When a source declares output ordering, DataFusion can elide unnecessary
SortExec nodes from the physical plan, enabling ORDER BY queries on
pre-sorted unbounded streams.
§Example
ⓘ
// Source sorted by event_time ascending
let ordering = vec![SortColumn {
name: "event_time".to_string(),
descending: false,
nulls_first: false,
}];Fields§
§name: StringColumn name to sort by
descending: boolWhether the sort is descending (false = ascending)
nulls_first: boolWhether nulls sort first (before non-null values)
Implementations§
Source§impl SortColumn
impl SortColumn
Sourcepub fn ascending(name: impl Into<String>) -> Self
pub fn ascending(name: impl Into<String>) -> Self
Creates a new ascending sort column with nulls last.
Sourcepub fn descending(name: impl Into<String>) -> Self
pub fn descending(name: impl Into<String>) -> Self
Creates a new descending sort column with nulls last.
Sourcepub fn with_nulls_first(self, nulls_first: bool) -> Self
pub fn with_nulls_first(self, nulls_first: bool) -> Self
Sets whether nulls sort first.
Trait Implementations§
Source§impl Clone for SortColumn
impl Clone for SortColumn
Source§fn clone(&self) -> SortColumn
fn clone(&self) -> SortColumn
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 SortColumn
impl Debug for SortColumn
Source§impl PartialEq for SortColumn
impl PartialEq for SortColumn
impl Eq for SortColumn
impl StructuralPartialEq for SortColumn
Auto Trait Implementations§
impl Freeze for SortColumn
impl RefUnwindSafe for SortColumn
impl Send for SortColumn
impl Sync for SortColumn
impl Unpin for SortColumn
impl UnwindSafe for SortColumn
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.