Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
EquivalenceGroup in datafusion::physical_expr::equivalence - Rust
[go: Go Back, main page]

pub struct EquivalenceGroup { /* private fields */ }
Expand description

An EquivalenceGroup is a collection of EquivalenceClasses where each class represents a distinct equivalence class in a relation.

Implementations§

source§

impl EquivalenceGroup

source

pub fn is_empty(&self) -> bool

Checks whether this equivalence group is empty.

source

pub fn normalize_expr( &self, expr: Arc<dyn PhysicalExpr> ) -> Arc<dyn PhysicalExpr>

Normalizes the given physical expression according to this group. The expression is replaced with the first expression in the equivalence class it matches with (if any).

source

pub fn normalize_sort_expr( &self, sort_expr: PhysicalSortExpr ) -> PhysicalSortExpr

Normalizes the given sort expression according to this group. The underlying physical expression is replaced with the first expression in the equivalence class it matches with (if any). If the underlying expression does not belong to any equivalence class in this group, returns the sort expression as is.

source

pub fn normalize_sort_requirement( &self, sort_requirement: PhysicalSortRequirement ) -> PhysicalSortRequirement

Normalizes the given sort requirement according to this group. The underlying physical expression is replaced with the first expression in the equivalence class it matches with (if any). If the underlying expression does not belong to any equivalence class in this group, returns the given sort requirement as is.

source

pub fn normalize_exprs( &self, exprs: impl IntoIterator<Item = Arc<dyn PhysicalExpr>> ) -> Vec<Arc<dyn PhysicalExpr>>

This function applies the normalize_expr function for all expressions in exprs and returns the corresponding normalized physical expressions.

source

pub fn normalize_sort_exprs( &self, sort_exprs: &[PhysicalSortExpr] ) -> Vec<PhysicalSortExpr>

This function applies the normalize_sort_expr function for all sort expressions in sort_exprs and returns the corresponding normalized sort expressions.

source

pub fn normalize_sort_requirements( &self, sort_reqs: &[PhysicalSortRequirement] ) -> Vec<PhysicalSortRequirement>

This function applies the normalize_sort_requirement function for all requirements in sort_reqs and returns the corresponding normalized sort requirements.

source

pub fn project(&self, mapping: &ProjectionMapping) -> EquivalenceGroup

Projects this equivalence group according to the given projection mapping.

source

pub fn join( &self, right_equivalences: &EquivalenceGroup, join_type: &JoinType, left_size: usize, on: &[(Column, Column)] ) -> EquivalenceGroup

Combine equivalence groups of the given join children.

Trait Implementations§

source§

impl Clone for EquivalenceGroup

source§

fn clone(&self) -> EquivalenceGroup

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EquivalenceGroup

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V