pub struct ScalarFunctionExpr { /* private fields */ }
Expand description
Physical expression of a scalar function
Implementations§
source§impl ScalarFunctionExpr
impl ScalarFunctionExpr
sourcepub fn new(
name: &str,
fun: ScalarFunctionImplementation,
args: Vec<Arc<dyn PhysicalExpr>>,
return_type: DataType,
monotonicity: Option<FuncMonotonicity>
) -> Self
pub fn new( name: &str, fun: ScalarFunctionImplementation, args: Vec<Arc<dyn PhysicalExpr>>, return_type: DataType, monotonicity: Option<FuncMonotonicity> ) -> Self
Create a new Scalar function
sourcepub fn fun(&self) -> &ScalarFunctionImplementation
pub fn fun(&self) -> &ScalarFunctionImplementation
Get the scalar function implementation
sourcepub fn args(&self) -> &[Arc<dyn PhysicalExpr>]
pub fn args(&self) -> &[Arc<dyn PhysicalExpr>]
Input arguments
sourcepub fn return_type(&self) -> &DataType
pub fn return_type(&self) -> &DataType
Data type produced by this expression
sourcepub fn monotonicity(&self) -> &Option<FuncMonotonicity>
pub fn monotonicity(&self) -> &Option<FuncMonotonicity>
Monotonicity information of the function
Trait Implementations§
source§impl Debug for ScalarFunctionExpr
impl Debug for ScalarFunctionExpr
source§impl Display for ScalarFunctionExpr
impl Display for ScalarFunctionExpr
source§impl PartialEq<dyn Any> for ScalarFunctionExpr
impl PartialEq<dyn Any> for ScalarFunctionExpr
source§impl PhysicalExpr for ScalarFunctionExpr
impl PhysicalExpr for ScalarFunctionExpr
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 get_ordering(&self, children: &[SortProperties]) -> SortProperties
fn get_ordering(&self, children: &[SortProperties]) -> SortProperties
The order information of a PhysicalExpr can be estimated from its children.
This is especially helpful for projection expressions. If we can ensure that the
order of a PhysicalExpr to project matches with the order of SortExec, we can
eliminate that SortExecs. 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 ScalarFunctionExpr
impl Send for ScalarFunctionExpr
impl Sync for ScalarFunctionExpr
impl Unpin for ScalarFunctionExpr
impl !UnwindSafe for ScalarFunctionExpr
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