Package org.apache.storm.sql.compiler
Class RexNodeToJavaCodeCompiler
java.lang.Object
org.apache.storm.sql.compiler.RexNodeToJavaCodeCompiler
Compiles a scalar expression (
RexNode
) to Java source code String.
This code is inspired by JaninoRexCompiler in Calcite, but while it is returning
Scalar
which is executable, we need to pass the source code to compile and
serialize instance so that it can be executed on worker efficiently.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncompile
(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType, String className) org.apache.calcite.linq4j.tree.BlockStatement
compileToBlock
(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType) org.apache.calcite.linq4j.tree.BlockStatement
compileToBlock
(org.apache.calcite.rex.RexProgram program)
-
Constructor Details
-
RexNodeToJavaCodeCompiler
public RexNodeToJavaCodeCompiler(org.apache.calcite.rex.RexBuilder rexBuilder)
-
-
Method Details
-
compileToBlock
public org.apache.calcite.linq4j.tree.BlockStatement compileToBlock(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType) -
compileToBlock
public org.apache.calcite.linq4j.tree.BlockStatement compileToBlock(org.apache.calcite.rex.RexProgram program) -
compile
-
compile
-