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: SortOptions
Option 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.