Skip to main content

ExpressionEvaluator

Trait ExpressionEvaluator 

Source
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§

Source

fn eval_statements( &self, stmts: &[Statement], ctx: &mut ExecutionContext, ) -> Result<ValueWord>

Evaluate a slice of statements and return the result.

Source

fn eval_expr( &self, expr: &Expr, ctx: &mut ExecutionContext, ) -> Result<ValueWord>

Evaluate a single expression and return the result.

Implementors§