Package org.apache.storm.sql.compiler
Class RexNodeToJavaCodeCompiler
- java.lang.Object
-
- org.apache.storm.sql.compiler.RexNodeToJavaCodeCompiler
-
public class RexNodeToJavaCodeCompiler extends Object
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
Constructors Constructor Description RexNodeToJavaCodeCompiler(org.apache.calcite.rex.RexBuilder rexBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
compile(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType, String className)
String
compile(org.apache.calcite.rex.RexProgram program, 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)
-
-
-
Method Detail
-
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
public String compile(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType, String className)
-
-