Package org.apache.calcite.interpreter
Class Nodes.CoreCompiler
java.lang.Object
org.apache.calcite.rel.RelVisitor
org.apache.calcite.interpreter.Nodes.CoreCompiler
- All Implemented Interfaces:
Compiler,ReflectiveVisitor
- Enclosing class:
Nodes
Extension to
Interpreter.CompilerImpl
that knows how to handle the core logical
RelNodes.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Interpreterprotected @Nullable Nodeprotected @Nullable RelNodeprotected @Nullable RelNode -
Method Summary
Modifier and TypeMethodDescriptioncombinedRowType(List<RelNode> inputs) compile(List<RexNode> nodes, @Nullable RelDataType inputRowType) Compiles an expression to an executable form.voidenumerable(RelNode rel, Enumerable<Row> rowEnumerable) Tells the interpreter that a given relational expression wishes to give its output as an enumerable.voidFallback rewrite method.Creates a Sink for a relational expression to write into.voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvisit(TableFunctionScan functionScan) voidvoidvoidvoidvoidVisits a node during a traversal.Methods inherited from class org.apache.calcite.rel.RelVisitor
go, replaceRoot
-
Field Details
-
interpreter
-
rootRel
-
rel
-
node
-
-
Method Details
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
-
visit
Description copied from class:RelVisitorVisits a node during a traversal.- Overrides:
visitin classRelVisitor- Parameters:
p- Node to visitordinal- Ordinal of node within its parentparent- Parent of the node, or null if it is the root of the traversal
-
rewrite
-
compile
Description copied from interface:CompilerCompiles an expression to an executable form. -
combinedRowType
- Specified by:
combinedRowTypein interfaceCompiler
-
source
-
sink
Description copied from interface:CompilerCreates a Sink for a relational expression to write into.This method is generally called from the constructor of a
Node. But a constructor could instead callCompiler.enumerable(RelNode, Enumerable). -
enumerable
Description copied from interface:CompilerTells the interpreter that a given relational expression wishes to give its output as an enumerable.This is as opposed to the norm, where a relational expression calls
Compiler.sink(RelNode), then itsNode.run()method writes into that sink.- Specified by:
enumerablein interfaceCompiler- Parameters:
rel- Relational expressionrowEnumerable- Contents of relational expression
-
createContext
- Specified by:
createContextin interfaceCompiler
-
getDataContext
- Specified by:
getDataContextin interfaceCompiler
-