org.eigenbase.relopt
Class RelOptPlanWriter

java.lang.Object
  extended by java.io.Writer
      extended by java.io.PrintWriter
          extended by org.eigenbase.relopt.RelOptPlanWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable
Direct Known Subclasses:
RelOptXmlPlanWriter

public class RelOptPlanWriter
extends PrintWriter

Callback for an expression to dump itself to.


Field Summary
private  SqlExplainLevel detailLevel
           
(package private)  int level
           
private  boolean withIdPrefix
           
 
Fields inherited from class java.io.PrintWriter
out
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
RelOptPlanWriter(PrintWriter pw)
           
RelOptPlanWriter(PrintWriter pw, SqlExplainLevel detailLevel)
           
 
Method Summary
 void explain(RelNode rel, List<String> termList, List<Object> valueList)
          Shorthand for explain(RelNode, String[], Object[]).
 void explain(RelNode rel, String[] terms)
           
 void explain(RelNode rel, String[] terms, Object[] values)
          Prints the plan of a given relational expression to this writer.
private  void explainInputs(RelNode[] inputs)
           
 void explainSubset(String s, RelNode child)
          Special form used by RelSubset.
 void explainTree(RelNode exp)
           
 SqlExplainLevel getDetailLevel()
           
 void setIdPrefix(boolean b)
           
 
Methods inherited from class java.io.PrintWriter
append, append, append, checkError, close, flush, format, format, print, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, println, println, setError, write, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

withIdPrefix

private boolean withIdPrefix

detailLevel

private final SqlExplainLevel detailLevel

level

int level
Constructor Detail

RelOptPlanWriter

public RelOptPlanWriter(PrintWriter pw)

RelOptPlanWriter

public RelOptPlanWriter(PrintWriter pw,
                        SqlExplainLevel detailLevel)
Method Detail

setIdPrefix

public void setIdPrefix(boolean b)

explain

public void explain(RelNode rel,
                    String[] terms,
                    Object[] values)
Prints the plan of a given relational expression to this writer.

Parameters:
rel - Relational expression
terms - Names of the attributes of the plan
values - Values of the attributes of the plan
"Precondition:"
rel != null, terms.length == rel.getChildExps().length + values.length, values != null

explainInputs

private void explainInputs(RelNode[] inputs)

explain

public void explain(RelNode rel,
                    String[] terms)

explain

public final void explain(RelNode rel,
                          List<String> termList,
                          List<Object> valueList)
Shorthand for explain(RelNode, String[], Object[]).

Parameters:
rel - Relational expression
termList - List of names of the attributes of the plan
valueList - List of values of the attributes of the plan

explainSubset

public void explainSubset(String s,
                          RelNode child)
Special form used by RelSubset.


explainTree

public void explainTree(RelNode exp)

getDetailLevel

public SqlExplainLevel getDetailLevel()
Returns:
detail level at which plan should be generated