Skip to main content

Module expr

Module expr 

Source
Expand description

Compiled expression evaluator using Cranelift JIT.

ExprCompiler translates DataFusion [Expr] trees into native machine code via Cranelift. The generated functions operate directly on super::EventRow byte buffers using pointer arithmetic — zero allocations, zero virtual dispatch.

§Supported Expressions

  • Column references (load from row pointer + field offset)
  • Literals (i64, f64, i32, bool, null)
  • Binary arithmetic (+, -, *, /, %) for integer and float types
  • Comparisons (=, !=, <, <=, >, >=)
  • Boolean logic (AND, OR) with short-circuit evaluation
  • NOT, IS NULL, IS NOT NULL
  • CAST between numeric types
  • CASE WHEN ... THEN ... ELSE ... END

§Null Handling

Null propagation follows SQL semantics: any arithmetic or comparison with a NULL operand produces NULL. IS NULL / IS NOT NULL inspect the null flag directly.

Structs§

ExprCompiler
Compiles DataFusion expressions into native functions via Cranelift.