@NotThreadSafe public class LogicalPlan extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
LogicalPlan.BlockEdge |
static class |
LogicalPlan.BlockType |
class |
LogicalPlan.QueryBlock |
| Modifier and Type | Field and Description |
|---|---|
static String |
NONAME_BLOCK_PREFIX |
static char |
NONAMED_COLUMN_PREFIX |
static String |
ROOT_BLOCK
it indicates the root block
|
static char |
VIRTUAL_TABLE_PREFIX
the prefix character for virtual tables
|
| Constructor and Description |
|---|
LogicalPlan(LogicalPlanner planner) |
public static final char VIRTUAL_TABLE_PREFIX
public static final char NONAMED_COLUMN_PREFIX
public static final String ROOT_BLOCK
public static final String NONAME_BLOCK_PREFIX
public LogicalPlan(LogicalPlanner planner)
public <T extends LogicalNode> T createNode(Class<T> theClass)
theClass - The class to be createdpublic static <T extends LogicalNode> T createNodeWithoutPID(Class<T> theClass)
theClass - The class to be createdpublic void setExplain()
public boolean isExplain()
public LogicalPlan.QueryBlock newAndGetBlock(String blockName)
LogicalPlan.QueryBlock and GetblockName - the query block namepublic int newPID()
public LogicalPlan.QueryBlock newQueryBlock()
public void resetGeneratedId()
public String generateUniqueColumnName(EvalNode evalNode)
public String generateUniqueColumnName(Expr expr)
public LogicalPlan.QueryBlock getRootBlock()
public LogicalPlan.QueryBlock getBlock(String blockName)
public LogicalPlan.QueryBlock getBlock(LogicalNode node)
public void removeBlock(LogicalPlan.QueryBlock block)
public void disconnectBlocks(LogicalPlan.QueryBlock srcBlock, LogicalPlan.QueryBlock targetBlock)
public void connectBlocks(LogicalPlan.QueryBlock srcBlock, LogicalPlan.QueryBlock targetBlock, LogicalPlan.BlockType type)
public LogicalPlan.QueryBlock getParentBlock(LogicalPlan.QueryBlock block)
public List<LogicalPlan.QueryBlock> getChildBlocks(LogicalPlan.QueryBlock block)
public LogicalPlan.QueryBlock getBlockByExpr(Expr expr)
public Collection<LogicalPlan.QueryBlock> getQueryBlocks()
public SimpleDirectedGraph<String,LogicalPlan.BlockEdge> getQueryBlockGraph()
public Column resolveColumn(LogicalPlan.QueryBlock block, ColumnReferenceExpr columnRef) throws PlanningException
PlanningExceptionpublic String getQueryGraphAsString()
public String getLogicalPlanAsString()
public void addHistory(String string)
Copyright © 2015 Apache Software Foundation. All Rights Reserved.