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

      • RexNodeToJavaCodeCompiler

        public RexNodeToJavaCodeCompiler​(org.apache.calcite.rex.RexBuilder rexBuilder)
    • 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)
      • compile

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