Struct datafusion_physical_expr::expressions::BinaryExpr
source · pub struct BinaryExpr { /* private fields */ }
Expand description
Binary expression
Implementations§
source§impl BinaryExpr
impl BinaryExpr
sourcepub fn new(
left: Arc<dyn PhysicalExpr>,
op: Operator,
right: Arc<dyn PhysicalExpr>
) -> Self
pub fn new( left: Arc<dyn PhysicalExpr>, op: Operator, right: Arc<dyn PhysicalExpr> ) -> Self
Create new binary expression
sourcepub fn left(&self) -> &Arc<dyn PhysicalExpr>
pub fn left(&self) -> &Arc<dyn PhysicalExpr>
Get the left side of the binary expression
sourcepub fn right(&self) -> &Arc<dyn PhysicalExpr>
pub fn right(&self) -> &Arc<dyn PhysicalExpr>
Get the right side of the binary expression
Trait Implementations§
source§impl Clone for BinaryExpr
impl Clone for BinaryExpr
source§fn clone(&self) -> BinaryExpr
fn clone(&self) -> BinaryExpr
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 BinaryExpr
impl Debug for BinaryExpr
source§impl Display for BinaryExpr
impl Display for BinaryExpr
source§impl Hash for BinaryExpr
impl Hash for BinaryExpr
source§impl PartialEq<dyn Any> for BinaryExpr
impl PartialEq<dyn Any> for BinaryExpr
source§impl PhysicalExpr for BinaryExpr
impl PhysicalExpr for BinaryExpr
source§fn get_ordering(&self, children: &[SortProperties]) -> SortProperties
fn get_ordering(&self, children: &[SortProperties]) -> SortProperties
For each operator, BinaryExpr
has distinct ordering rules.
TODO: There may be rules specific to some data types (such as division and multiplication on unsigned integers)
source§fn data_type(&self, input_schema: &Schema) -> Result<DataType>
fn data_type(&self, input_schema: &Schema) -> Result<DataType>
Get the data type of this expression, given the schema of the input
source§fn nullable(&self, input_schema: &Schema) -> Result<bool>
fn nullable(&self, input_schema: &Schema) -> Result<bool>
Determine whether this expression is nullable, given the schema of the input
source§fn evaluate(&self, batch: &RecordBatch) -> Result<ColumnarValue>
fn evaluate(&self, batch: &RecordBatch) -> Result<ColumnarValue>
Evaluate an expression against a RecordBatch
source§fn children(&self) -> Vec<Arc<dyn PhysicalExpr>>
fn children(&self) -> Vec<Arc<dyn PhysicalExpr>>
Get a list of child PhysicalExpr that provide the input for this expr.
source§fn with_new_children(
self: Arc<Self>,
children: Vec<Arc<dyn PhysicalExpr>>
) -> Result<Arc<dyn PhysicalExpr>>
fn with_new_children( self: Arc<Self>, children: Vec<Arc<dyn PhysicalExpr>> ) -> Result<Arc<dyn PhysicalExpr>>
Returns a new PhysicalExpr where all children were replaced by new exprs.
source§fn evaluate_bounds(&self, children: &[&Interval]) -> Result<Interval>
fn evaluate_bounds(&self, children: &[&Interval]) -> Result<Interval>
Computes the output interval for the expression, given the input
intervals. Read more
source§fn propagate_constraints(
&self,
interval: &Interval,
children: &[&Interval]
) -> Result<Option<Vec<Interval>>>
fn propagate_constraints( &self, interval: &Interval, children: &[&Interval] ) -> Result<Option<Vec<Interval>>>
Updates bounds for child expressions, given a known interval for this
expression. Read more
source§fn evaluate_selection(
&self,
batch: &RecordBatch,
selection: &BooleanArray
) -> Result<ColumnarValue>
fn evaluate_selection( &self, batch: &RecordBatch, selection: &BooleanArray ) -> Result<ColumnarValue>
Evaluate an expression against a RecordBatch after first applying a
validity array
Auto Trait Implementations§
impl !RefUnwindSafe for BinaryExpr
impl Send for BinaryExpr
impl Sync for BinaryExpr
impl Unpin for BinaryExpr
impl !UnwindSafe for BinaryExpr
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