pub struct PhysicalSortExpr {
pub expr: Arc<dyn PhysicalExpr>,
pub options: SortOptions,
}Expand description
Represents Sort operation for a column in a RecordBatch
Fields§
§expr: Arc<dyn PhysicalExpr>Physical expression representing the column to sort
options: SortOptionsOption to specify how the given column should be sorted
Implementations§
source§impl PhysicalSortExpr
impl PhysicalSortExpr
sourcepub fn evaluate_to_sort_column(&self, batch: &RecordBatch) -> Result<SortColumn>
pub fn evaluate_to_sort_column(&self, batch: &RecordBatch) -> Result<SortColumn>
evaluate the sort expression into SortColumn that can be passed into arrow sort kernel
sourcepub fn satisfy(&self, requirement: &PhysicalSortRequirement) -> bool
pub fn satisfy(&self, requirement: &PhysicalSortRequirement) -> bool
Check whether sort expression satisfies PhysicalSortRequirement.
If sort options is Some in PhysicalSortRequirement, expr
and options field are compared for equality.
If sort options is None in PhysicalSortRequirement, only
expr is compared for equality.
Trait Implementations§
source§impl Clone for PhysicalSortExpr
impl Clone for PhysicalSortExpr
source§fn clone(&self) -> PhysicalSortExpr
fn clone(&self) -> PhysicalSortExpr
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 PhysicalSortExpr
impl Debug for PhysicalSortExpr
source§impl Display for PhysicalSortExpr
impl Display for PhysicalSortExpr
source§impl From<PhysicalSortExpr> for PhysicalSortRequirement
impl From<PhysicalSortExpr> for PhysicalSortRequirement
source§fn from(value: PhysicalSortExpr) -> Self
fn from(value: PhysicalSortExpr) -> Self
Converts to this type from the input type.
source§impl From<PhysicalSortRequirement> for PhysicalSortExpr
impl From<PhysicalSortRequirement> for PhysicalSortExpr
source§fn from(value: PhysicalSortRequirement) -> Self
fn from(value: PhysicalSortRequirement) -> Self
If options is None, the default sort options ASC, NULLS LAST is used.
The default is picked to be consistent with PostgreSQL: https://www.postgresql.org/docs/current/queries-order.html
source§impl Hash for PhysicalSortExpr
impl Hash for PhysicalSortExpr
source§impl PartialEq<PhysicalSortExpr> for PhysicalSortExpr
impl PartialEq<PhysicalSortExpr> for PhysicalSortExpr
source§fn eq(&self, other: &PhysicalSortExpr) -> bool
fn eq(&self, other: &PhysicalSortExpr) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Eq for PhysicalSortExpr
Auto Trait Implementations§
impl !RefUnwindSafe for PhysicalSortExpr
impl Send for PhysicalSortExpr
impl Sync for PhysicalSortExpr
impl Unpin for PhysicalSortExpr
impl !UnwindSafe for PhysicalSortExpr
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.