public interface RelWriter
It is used for generating EXPLAIN PLAN output, and also for serializing a tree of relational expressions to JSON.
| Modifier and Type | Method and Description |
|---|---|
RelWriter |
done(RelNode node)
Writes the completed explanation.
|
void |
explain(RelNode rel,
List<Pair<String,Object>> valueList)
Prints an explanation of a node, with a list of (term, value) pairs.
|
SqlExplainLevel |
getDetailLevel() |
RelWriter |
input(String term,
RelNode input)
Adds an input to the explanation of the current node.
|
RelWriter |
item(String term,
Object value)
Adds an attribute to the explanation of the current node.
|
RelWriter |
itemIf(String term,
Object value,
boolean condition)
Adds an input to the explanation of the current node, if a condition
holds.
|
boolean |
nest()
Returns whether the writer prefers nested values.
|
void explain(RelNode rel, List<Pair<String,Object>> valueList)
The term-value pairs are generally gathered by calling
RelNode.explain(RelWriter).
Each sub-class of RelNode
calls input(String, org.apache.calcite.rel.RelNode)
and item(String, Object) to declare term-value pairs.
rel - Relational expressionvalueList - List of term-value pairsSqlExplainLevel getDetailLevel()
RelWriter input(String term, RelNode input)
term - Term for input, e.g. "left" or "input #1".input - Input relational expressionRelWriter item(String term, Object value)
term - Term for attribute, e.g. "joinType"value - Attribute valueRelWriter itemIf(String term, Object value, boolean condition)
boolean nest()
Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.