| Package | Description |
|---|---|
| org.apache.tajo.plan | |
| org.apache.tajo.plan.joinorder | |
| org.apache.tajo.plan.logical | |
| org.apache.tajo.plan.rewrite.rules | |
| org.apache.tajo.plan.serder |
This package provides (de)serialization API for logical plan and it related parts.
|
| org.apache.tajo.plan.util | |
| org.apache.tajo.plan.verifier | |
| org.apache.tajo.plan.visitor |
| Modifier and Type | Method and Description |
|---|---|
<T extends LogicalNode> |
LogicalPlan.createNode(Class<T> theClass)
Create a LogicalNode instance for a type.
|
static <T extends LogicalNode> |
LogicalPlan.createNodeWithoutPID(Class<T> theClass)
Create a LogicalNode instance for a type.
|
<T extends LogicalNode> |
LogicalPlan.QueryBlock.getCurrentNode() |
<T extends LogicalNode> |
LogicalPlan.QueryBlock.getLatestNode() |
<T extends LogicalNode> |
LogicalPlan.QueryBlock.getNode(NodeType nodeType) |
<T extends LogicalNode> |
LogicalPlan.QueryBlock.getNodeFromExpr(Expr expr) |
<NODE extends LogicalNode> |
LogicalPlan.QueryBlock.getRoot() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
LogicalPlanner.checkIfBeEvaluatedAtThis(EvalNode evalNode,
LogicalNode node) |
LogicalPlan.QueryBlock |
LogicalPlan.getBlock(LogicalNode node) |
LogicalNode |
LogicalPlanPreprocessor.postHook(LogicalPlanner.PlanContext ctx,
Stack<Expr> stack,
Expr expr,
LogicalNode result) |
LogicalNode |
LogicalPlanner.postHook(LogicalPlanner.PlanContext context,
Stack<Expr> stack,
Expr expr,
LogicalNode current) |
void |
LogicalPlan.QueryBlock.registerExprWithNode(Expr expr,
LogicalNode node) |
void |
LogicalPlan.QueryBlock.registerNode(LogicalNode node) |
void |
LogicalPlan.QueryBlock.setRoot(LogicalNode blockRoot) |
void |
LogicalPlan.QueryBlock.unregisterNode(LogicalNode node) |
void |
LogicalPlan.QueryBlock.updateLatestNode(LogicalNode node) |
| Modifier and Type | Method and Description |
|---|---|
LogicalNode |
LogicalOptimizer.JoinCostComputer.visitJoin(org.apache.tajo.plan.LogicalOptimizer.CostContext joinGraphContext,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
JoinNode joinNode,
Stack<LogicalNode> stack) |
LogicalNode |
LogicalOptimizer.JoinOrderStringBuilder.visitJoin(StringBuilder sb,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
JoinNode joinNode,
Stack<LogicalNode> stack) |
LogicalNode |
LogicalOptimizer.JoinOrderStringBuilder.visitScan(StringBuilder sb,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
ScanNode node,
Stack<LogicalNode> stack) |
LogicalNode |
LogicalOptimizer.JoinOrderStringBuilder.visitTableSubQuery(StringBuilder sb,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
TableSubQueryNode node,
Stack<LogicalNode> stack) |
| Constructor and Description |
|---|
PlanString(LogicalNode node) |
| Modifier and Type | Method and Description |
|---|---|
LogicalNode |
JoinEdge.getLeftRelation() |
LogicalNode |
JoinEdge.getRightRelation() |
| Modifier and Type | Method and Description |
|---|---|
static double |
GreedyHeuristicJoinOrderAlgorithm.getCost(LogicalNode node) |
| Constructor and Description |
|---|
JoinEdge(JoinType joinType,
LogicalNode leftRelation,
LogicalNode rightRelation) |
JoinEdge(JoinType joinType,
LogicalNode leftRelation,
LogicalNode rightRelation,
EvalNode... condition) |
| Modifier and Type | Class and Description |
|---|---|
class |
AlterTableNode |
class |
AlterTablespaceNode |
class |
BinaryNode |
class |
CreateDatabaseNode |
class |
CreateTableNode |
class |
DistinctGroupbyNode |
class |
DropDatabaseNode |
class |
DropTableNode |
class |
EvalExprNode |
class |
ExceptNode |
class |
GroupbyNode |
class |
HavingNode |
class |
IndexScanNode |
class |
InsertNode |
class |
IntersectNode |
class |
JoinNode |
class |
LimitNode |
class |
LogicalRootNode |
class |
PartitionedTableScanNode |
class |
PersistentStoreNode
PersistentStoreNode an expression for a persistent data store step. |
class |
ProjectionNode |
class |
RelationNode
It provides a logical view of a relation.
|
class |
ScanNode |
class |
SelectionNode |
class |
SetSessionNode |
class |
ShuffleFileWriteNode
ShuffeFileWriteNode is an expression for an intermediate data materialization step.
|
class |
SortNode |
class |
StoreTableNode |
class |
TableSubQueryNode |
class |
TruncateTableNode |
class |
UnaryNode |
class |
UnionNode |
class |
WindowAggNode |
| Modifier and Type | Method and Description |
|---|---|
<T extends LogicalNode> |
UnaryNode.getChild() |
<T extends LogicalNode> |
BinaryNode.getLeftChild() |
<T extends LogicalNode> |
BinaryNode.getRightChild() |
| Modifier and Type | Method and Description |
|---|---|
LogicalNode |
UnaryNode.getChild(int idx) |
LogicalNode |
TruncateTableNode.getChild(int idx) |
LogicalNode |
TableSubQueryNode.getChild(int idx) |
LogicalNode |
SetSessionNode.getChild(int idx) |
LogicalNode |
ScanNode.getChild(int idx) |
abstract LogicalNode |
LogicalNode.getChild(int idx) |
LogicalNode |
EvalExprNode.getChild(int idx) |
LogicalNode |
DropTableNode.getChild(int idx) |
LogicalNode |
DropDatabaseNode.getChild(int idx) |
LogicalNode |
CreateDatabaseNode.getChild(int idx) |
LogicalNode |
BinaryNode.getChild(int idx) |
LogicalNode |
AlterTablespaceNode.getChild(int idx) |
LogicalNode |
AlterTableNode.getChild(int idx) |
LogicalNode |
TableSubQueryNode.getSubQuery() |
| Modifier and Type | Method and Description |
|---|---|
Class<? extends LogicalNode> |
NodeType.getBaseClass() |
List<LogicalNode> |
JoinNode.getBroadcastCandidateTargets() |
| Modifier and Type | Method and Description |
|---|---|
void |
JoinNode.init(JoinType joinType,
LogicalNode left,
LogicalNode right) |
void |
IntersectNode.init(LogicalNode left,
LogicalNode right) |
void |
ExceptNode.init(LogicalNode left,
LogicalNode right) |
void |
TableSubQueryNode.init(String tableName,
LogicalNode subQuery) |
static boolean |
ScanNode.isScanNode(LogicalNode node) |
void |
WindowAggNode.setChild(LogicalNode subNode) |
void |
UnaryNode.setChild(LogicalNode subNode) |
void |
ProjectionNode.setChild(LogicalNode subNode) |
void |
GroupbyNode.setChild(LogicalNode subNode) |
void |
BinaryNode.setLeftChild(LogicalNode op) |
void |
BinaryNode.setRightChild(LogicalNode op) |
void |
TableSubQueryNode.setSubQuery(LogicalNode node) |
void |
InsertNode.setSubQuery(LogicalNode subQuery) |
void |
LogicalNodeVisitor.visit(LogicalNode node) |
| Modifier and Type | Method and Description |
|---|---|
static PlanProto.LogicalNodeTree |
LogicalNodeSerializer.serialize(LogicalNode node)
Serialize a logical plan into a protobuf-based serialized bytes.
|
com.google.gson.JsonElement |
LogicalNodeAdapter.serialize(LogicalNode src,
Type typeOfSrc,
com.google.gson.JsonSerializationContext context) |
| Modifier and Type | Method and Description |
|---|---|
static <T extends LogicalNode> |
PlannerUtil.clone(LogicalPlan plan,
LogicalNode node) |
static <T extends LogicalNode> |
PlannerUtil.findMostBottomNode(LogicalNode node,
NodeType type)
Find the most bottom logical node matched to type from the given node
|
static <T extends LogicalNode> |
PlannerUtil.findTopNode(LogicalNode node,
NodeType type)
Find the top logical node matched to type from the given node
|
static <T extends LogicalNode> |
PlannerUtil.findTopParentNode(LogicalNode node,
NodeType type)
Find a parent node of a given-typed operator.
|
| Modifier and Type | Method and Description |
|---|---|
static String |
PlannerUtil.buildExplainString(LogicalNode node)
Generate an explain string of a LogicalNode and its descendant nodes.
|
static boolean |
PlannerUtil.checkIfDDLPlan(LogicalNode node) |
static boolean |
PlannerUtil.checkIfSetSession(LogicalNode node) |
static <T extends LogicalNode> |
PlannerUtil.clone(LogicalPlan plan,
LogicalNode node) |
static LogicalNode |
PlannerUtil.deleteNode(LogicalNode parent,
LogicalNode tobeRemoved)
Delete the logical node from a plan.
|
static LogicalNode[] |
PlannerUtil.findAllNodes(LogicalNode node,
NodeType... type)
Find the all logical node matched to type from the given node
|
static <T extends LogicalNode> |
PlannerUtil.findMostBottomNode(LogicalNode node,
NodeType type)
Find the most bottom logical node matched to type from the given node
|
static <T extends LogicalNode> |
PlannerUtil.findTopNode(LogicalNode node,
NodeType type)
Find the top logical node matched to type from the given node
|
static <T extends LogicalNode> |
PlannerUtil.findTopParentNode(LogicalNode node,
NodeType type)
Find a parent node of a given-typed operator.
|
static String[] |
PlannerUtil.getRelationLineage(LogicalNode from)
Get all RelationNodes which are descendant of a given LogicalNode.
|
static Collection<String> |
PlannerUtil.getRelationLineageWithinQueryBlock(LogicalPlan plan,
LogicalNode from)
Get all RelationNodes which are descendant of a given LogicalNode.
|
static TableDesc |
PlannerUtil.getTableDesc(CatalogService catalog,
LogicalNode node) |
static void |
PlannerUtil.replaceNode(LogicalNode plan,
LogicalNode newNode,
NodeType type) |
static void |
PlannerUtil.replaceNode(LogicalPlan plan,
LogicalNode startNode,
LogicalNode oldNode,
LogicalNode newNode) |
LogicalNode |
PlannerUtil.RelationFinderVisitor.visit(Object context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
LogicalNode node,
Stack<LogicalNode> stack) |
LogicalNode |
PlannerUtil.LogicalNodeReplaceVisitor.visit(org.apache.tajo.plan.util.PlannerUtil.ReplacerContext context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
LogicalNode node,
Stack<LogicalNode> stack) |
| Modifier and Type | Method and Description |
|---|---|
LogicalNode |
PlannerUtil.RelationFinderVisitor.visit(Object context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
LogicalNode node,
Stack<LogicalNode> stack) |
LogicalNode |
PlannerUtil.LogicalNodeReplaceVisitor.visit(org.apache.tajo.plan.util.PlannerUtil.ReplacerContext context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
LogicalNode node,
Stack<LogicalNode> stack) |
LogicalNode |
PlannerUtil.LogicalNodeReplaceVisitor.visitPartitionedTableScan(org.apache.tajo.plan.util.PlannerUtil.ReplacerContext context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
PartitionedTableScanNode node,
Stack<LogicalNode> stack) |
LogicalNode |
PlannerUtil.LogicalNodeReplaceVisitor.visitScan(org.apache.tajo.plan.util.PlannerUtil.ReplacerContext context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
ScanNode node,
Stack<LogicalNode> stack) |
| Constructor and Description |
|---|
PlannerUtil.LogicalNodeReplaceVisitor(LogicalNode target,
LogicalNode tobeReplaced) |
| Modifier and Type | Method and Description |
|---|---|
static VerificationState |
ExprsVerifier.verify(VerificationState state,
LogicalNode currentNode,
EvalNode expression) |
| Modifier and Type | Method and Description |
|---|---|
ExplainLogicalPlanVisitor.Context |
ExplainLogicalPlanVisitor.getBlockPlanStrings(LogicalPlan plan,
LogicalNode node) |
void |
BasicLogicalPlanVisitor.postHook(LogicalPlan plan,
LogicalNode node,
Stack<LogicalNode> stack,
CONTEXT data)
The posthook is called after each node is visited.
|
void |
BasicLogicalPlanVisitor.preHook(LogicalPlan plan,
LogicalNode node,
Stack<LogicalNode> stack,
CONTEXT data)
The prehook is called before each node is visited.
|
RESULT |
BasicLogicalPlanVisitor.visit(CONTEXT context,
LogicalPlan plan,
LogicalPlan.QueryBlock block,
LogicalNode node,
Stack<LogicalNode> stack)
visit visits each logicalNode recursively.
|
Copyright © 2015 Apache Software Foundation. All Rights Reserved.