AstJitProgram#

public final class AstJitProgram implements AutoCloseable#

A reusable AST JIT program specialized to an input schema.

Construction lowers the expressions and retrieves their JIT kernel. Subsequent calls reuse that kernel with tables whose referenced columns have compatible types and nullability. Callers must ensure that close() does not overlap with computeTable(Table).

Method Summary

close()

compile(Table schemaTable, CompiledExpression... expressions)

Compile a reusable program from one or more JIT-compiled expressions.

computeTable(Table table)

Evaluate this program on a table with a compatible referenced-column schema.

Methods

public Table computeTable(Table table)#

Evaluate this program on a table with a compatible referenced-column schema.

The row count and unreferenced columns may differ from the schema table used at compilation. Calling close() while an evaluation is in progress is unsupported.

Parameters:

table – input table for expression evaluation

Throws:
Returns:

table containing the program outputs in expression order

public void close()#

Static Methods

public static AstJitProgram compile(
Table schemaTable,
CompiledExpression... expressions
)#

Compile a reusable program from one or more JIT-compiled expressions.

The schema table and expressions are inspected during construction but are not retained. The returned program owns any literal values required by later evaluations.

Parameters:
  • schemaTable – table whose referenced column schema is used to compile the program

  • expressions – non-empty JIT-compiled expressions in output order

Throws:
Returns:

a reusable AST JIT program