pub trait ExpressionEvaluator: Send + Sync {
// Required methods
fn eval_statements(
&self,
stmts: &[Statement],
ctx: &mut ExecutionContext,
) -> Result<ValueWord>;
fn eval_expr(
&self,
expr: &Expr,
ctx: &mut ExecutionContext,
) -> Result<ValueWord>;
}Expand description
Trait for evaluating individual expressions and statement blocks.
This is used by StreamExecutor, WindowExecutor, and JoinExecutor to evaluate expressions without needing full program compilation. shape-vm implements this for BytecodeExecutor.
Required Methods§
Sourcefn eval_statements(
&self,
stmts: &[Statement],
ctx: &mut ExecutionContext,
) -> Result<ValueWord>
fn eval_statements( &self, stmts: &[Statement], ctx: &mut ExecutionContext, ) -> Result<ValueWord>
Evaluate a slice of statements and return the result.