public class RelWriterImpl extends Object implements RelWriter
RelWriter.| Modifier and Type | Field and Description |
|---|---|
private SqlExplainLevel |
detailLevel |
protected PrintWriter |
pw |
protected org.apache.calcite.avatica.util.Spacer |
spacer |
private List<Pair<String,Object>> |
values |
private boolean |
withIdPrefix |
| Constructor and Description |
|---|
RelWriterImpl(PrintWriter pw) |
RelWriterImpl(PrintWriter pw,
SqlExplainLevel detailLevel,
boolean withIdPrefix) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
checkInputsPresentInExplain(RelNode node) |
RelWriter |
done(RelNode node)
Writes the completed explanation.
|
protected void |
explain_(RelNode rel,
List<Pair<String,Object>> values) |
void |
explain(RelNode rel,
List<Pair<String,Object>> valueList)
Prints an explanation of a node, with a list of (term, value) pairs.
|
private void |
explainInputs(List<RelNode> inputs) |
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.
|
String |
simple()
Converts the collected terms and values to a string.
|
protected final PrintWriter pw
private final SqlExplainLevel detailLevel
private final boolean withIdPrefix
protected final org.apache.calcite.avatica.util.Spacer spacer
public RelWriterImpl(PrintWriter pw)
public RelWriterImpl(PrintWriter pw, SqlExplainLevel detailLevel, boolean withIdPrefix)
public final void explain(RelNode rel, List<Pair<String,Object>> valueList)
RelWriterThe term-value pairs are generally gathered by calling
RelNode.explain(RelWriter).
Each sub-class of RelNode
calls RelWriter.input(String, org.apache.calcite.rel.RelNode)
and RelWriter.item(String, Object) to declare term-value pairs.
public SqlExplainLevel getDetailLevel()
getDetailLevel in interface RelWriterpublic RelWriter input(String term, RelNode input)
RelWriterpublic RelWriter item(String term, Object value)
RelWriterpublic RelWriter itemIf(String term, Object value, boolean condition)
RelWriterpublic RelWriter done(RelNode node)
RelWriterprivate boolean checkInputsPresentInExplain(RelNode node)
public boolean nest()
RelWriterpublic String simple()
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.