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>> ;
    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 analyze(&self, context: AnalysisContext) -> AnalysisContext { ... } }
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 boundaries of this expression. This method (and all the related APIs) are experimental and subject to change.

Implementors§