public interface Compiler
RelNode
to a program
that can be run by an Interpreter
.Modifier and Type | Method and Description |
---|---|
RelDataType |
combinedRowType(java.util.List<RelNode> inputs) |
Scalar |
compile(java.util.List<RexNode> nodes,
RelDataType inputRowType)
Compiles an expression to an executable form.
|
Context |
createContext() |
void |
enumerable(RelNode rel,
Enumerable<Row> rowEnumerable)
Tells the interpreter that a given relational expression wishes to
give its output as an enumerable.
|
DataContext |
getDataContext() |
Sink |
sink(RelNode rel)
Creates a Sink for a relational expression to write into.
|
Source |
source(RelNode rel,
int ordinal) |
Scalar compile(java.util.List<RexNode> nodes, RelDataType inputRowType)
RelDataType combinedRowType(java.util.List<RelNode> inputs)
Sink sink(RelNode rel)
This method is generally called from the constructor of a Node
.
But a constructor could instead call
enumerable(RelNode, Enumerable)
.
rel
- Relational expressionvoid enumerable(RelNode rel, Enumerable<Row> rowEnumerable)
This is as opposed to the norm, where a relational expression calls
sink(RelNode)
, then its Node.run()
method writes into that
sink.
rel
- Relational expressionrowEnumerable
- Contents of relational expressionDataContext getDataContext()
Context createContext()
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.