pub trait VortexExpr:
Debug
+ Send
+ Sync
+ DynEq
+ DynHash
+ Display
+ ExprSerializable {
// Required methods
fn as_any(&self) -> &dyn Any;
fn unchecked_evaluate(&self, batch: &dyn Array) -> VortexResult<ArrayRef>;
fn children(&self) -> Vec<&ExprRef> ⓘ;
fn replacing_children(self: Arc<Self>, children: Vec<ExprRef>) -> ExprRef;
fn return_dtype(&self, scope_dtype: &DType) -> VortexResult<DType>;
// Provided method
fn evaluate(&self, batch: &dyn Array) -> VortexResult<ArrayRef> { ... }
}Expand description
Represents logical operation on ArrayRefs
Required Methods§
Sourcefn unchecked_evaluate(&self, batch: &dyn Array) -> VortexResult<ArrayRef>
fn unchecked_evaluate(&self, batch: &dyn Array) -> VortexResult<ArrayRef>
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
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.
Provided Methods§
Sourcefn evaluate(&self, batch: &dyn Array) -> VortexResult<ArrayRef>
fn evaluate(&self, batch: &dyn Array) -> VortexResult<ArrayRef>
Compute result of expression on given batch producing a new batch