pub trait PhysicalExpr: Send + Sync + Display + Debug + PartialEq<dyn Any> {
    fn as_any(&self) -> &dyn Any;
    fn data_type(&self, input_schema: &Schema) -> Result<DataType>;
    fn nullable(&self, input_schema: &Schema) -> Result<bool>;
    fn evaluate(&self, batch: &RecordBatch) -> Result<ColumnarValue>;
    fn children(&self) -> Vec<Arc<dyn PhysicalExpr>>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
; fn with_new_children(
        self: Arc<Self>,
        children: Vec<Arc<dyn PhysicalExpr>>
    ) -> Result<Arc<dyn PhysicalExpr>>; fn evaluate_selection(
        &self,
        batch: &RecordBatch,
        selection: &BooleanArray
    ) -> Result<ColumnarValue> { ... } fn expr_stats(&self) -> Arc<dyn PhysicalExprStats> { ... } }
Expand description

Expression that can be evaluated against a RecordBatch A Physical expression knows its type, nullability and how to evaluate itself.

Required Methods

Returns the physical expression as Any so that it can be downcast to a specific implementation.

Get the data type of this expression, given the schema of the input

Determine whether this expression is nullable, given the schema of the input

Evaluate an expression against a RecordBatch

Get a list of child PhysicalExpr that provide the input for this expr.

Returns a new PhysicalExpr where all children were replaced by new exprs.

Provided Methods

Evaluate an expression against a RecordBatch after first applying a validity array

Return the expression statistics for this expression. This API is currently experimental.

Implementors