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
ConstExpr in datafusion::physical_expr - Rust
[go: Go Back, main page]

Struct ConstExpr

Source
pub struct ConstExpr {
    pub expr: Arc<dyn PhysicalExpr>,
    pub across_partitions: AcrossPartitions,
}
Expand description

A structure representing a expression known to be constant in a physical execution plan.

The ConstExpr struct encapsulates an expression that is constant during the execution of a query. For example if a filter like A = 5 appears earlier in the plan, A would become a constant in subsequent operations.

§Fields

  • expr: Constant expression for a node in the physical plan.
  • across_partitions: A boolean flag indicating whether the constant expression is the same across partitions. If set to true, the constant expression has same value for all partitions. If set to false, the constant expression may have different values for different partitions.

§Example

let col = lit(5);
// Create a constant expression from a physical expression:
let const_expr = ConstExpr::from(col);

Fields§

§expr: Arc<dyn PhysicalExpr>

The expression that is known to be constant (e.g. a Column).

§across_partitions: AcrossPartitions

Indicates whether the constant have the same value across all partitions.

Implementations§

Source§

impl ConstExpr

Source

pub fn new( expr: Arc<dyn PhysicalExpr>, across_partitions: AcrossPartitions, ) -> ConstExpr

Create a new constant expression from a physical expression, specifying whether the constant expression is the same across partitions.

Note that you can also use ConstExpr::from to create a constant expression from just a physical expression, with the safe assumption of heterogenous values across partitions unless the expression is a literal.

Source

pub fn format_list(input: &[ConstExpr]) -> impl Display

Returns a Displayable list of ConstExpr.

Trait Implementations§

Source§

impl Clone for ConstExpr

Source§

fn clone(&self) -> ConstExpr

Returns a duplicate 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 ConstExpr

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for ConstExpr

Source§

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

Formats the value using the given formatter. Read more
Source§

impl From<Arc<dyn PhysicalExpr>> for ConstExpr

Source§

fn from(expr: Arc<dyn PhysicalExpr>) -> ConstExpr

Converts to this type from the input type.
Source§

impl PartialEq for ConstExpr

Source§

fn eq(&self, other: &ConstExpr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> Ungil for T
where T: Send,