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

      public String compile(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType, String className)
    • compile

      public String compile(org.apache.calcite.rex.RexProgram program, String className)