public class RexNodeToJavaCodeCompiler extends Object
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 and Description |
---|
RexNodeToJavaCodeCompiler(org.apache.calcite.rex.RexBuilder rexBuilder) |
Modifier and Type | Method and 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) |
public RexNodeToJavaCodeCompiler(org.apache.calcite.rex.RexBuilder rexBuilder)
public org.apache.calcite.linq4j.tree.BlockStatement compileToBlock(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType)
public org.apache.calcite.linq4j.tree.BlockStatement compileToBlock(org.apache.calcite.rex.RexProgram program)
public String compile(List<org.apache.calcite.rex.RexNode> nodes, org.apache.calcite.rel.type.RelDataType inputRowType, String className)
Copyright © 2023 The Apache Software Foundation. All rights reserved.