pub trait VortexExpr:
Debug
+ Send
+ Sync
+ DynEq
+ DynHash
+ Display {
// Required methods
fn as_any(&self) -> &dyn Any;
fn unchecked_evaluate(&self, batch: &ArrayData) -> VortexResult<ArrayData>;
fn children(&self) -> Vec<&ExprRef>;
fn replacing_children(self: Arc<Self>, children: Vec<ExprRef>) -> ExprRef;
// Provided methods
fn evaluate(&self, batch: &ArrayData) -> VortexResult<ArrayData> { ... }
fn return_dtype(&self, scope_dtype: &DType) -> VortexResult<DType> { ... }
}Expand description
Represents logical operation on ArrayDatas
Required Methods§
Sourcefn unchecked_evaluate(&self, batch: &ArrayData) -> VortexResult<ArrayData>
fn unchecked_evaluate(&self, batch: &ArrayData) -> VortexResult<ArrayData>
Compute result of expression on given batch producing a new batch
“Unchecked” means that this function lacks a debug assertion that the returned array matches the VortexExpr::return_dtype method. Use instead the VortexExpr::evaluate function which includes such an assertion.
fn children(&self) -> Vec<&ExprRef>
fn replacing_children(self: Arc<Self>, children: Vec<ExprRef>) -> ExprRef
Provided Methods§
Sourcefn evaluate(&self, batch: &ArrayData) -> VortexResult<ArrayData>
fn evaluate(&self, batch: &ArrayData) -> VortexResult<ArrayData>
Compute result of expression on given batch producing a new batch
Sourcefn return_dtype(&self, scope_dtype: &DType) -> VortexResult<DType>
fn return_dtype(&self, scope_dtype: &DType) -> VortexResult<DType>
Compute the type of the array returned by VortexExpr::evaluate.