org.teiid.query.optimizer.relational
Class RelationalPlanner
java.lang.Object
org.teiid.query.optimizer.relational.RelationalPlanner
public class RelationalPlanner
- extends java.lang.Object
This class generates a relational plan for query execution. The output of
this class is a PlanNode
object - this object then becomes the input to
PlanToProcessConverter
to produce a
RelationalPlan
.
Method Summary |
static SymbolMap |
buildGroupingNode(java.util.Collection<AggregateSymbol> aggs,
java.util.List<? extends Expression> groupingCols,
PlanNode groupNode,
CommandContext cc,
IDGenerator idGenerator)
Build a grouping node that introduces a anon group (without a inline view source node) |
RuleStack |
buildRules()
|
static Query |
createMatViewQuery(java.lang.Object matMetadataId,
java.lang.String matTableName,
java.util.List<? extends SelectSymbol> select,
boolean isGlobal)
|
static PlanNode |
createSelectNode(Criteria crit,
boolean isHaving)
|
PlanNode |
generatePlan(Command cmd)
|
static java.lang.Object |
getTrackableGroup(GroupSymbol group,
QueryMetadataInterface metadata)
|
void |
initialize(Command command,
IDGenerator idGenerator,
QueryMetadataInterface metadata,
CapabilitiesFinder capFinder,
AnalysisRecord analysisRecord,
CommandContext context)
|
static boolean |
isNoCacheGroup(QueryMetadataInterface metadata,
java.lang.Object metadataID,
Option option)
|
ProcessorPlan |
optimize(Command command)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAT_PREFIX
public static final java.lang.String MAT_PREFIX
- See Also:
- Constant Field Values
RelationalPlanner
public RelationalPlanner()
optimize
public ProcessorPlan optimize(Command command)
throws QueryPlannerException,
QueryMetadataException,
TeiidComponentException
- Throws:
QueryPlannerException
QueryMetadataException
TeiidComponentException
initialize
public void initialize(Command command,
IDGenerator idGenerator,
QueryMetadataInterface metadata,
CapabilitiesFinder capFinder,
AnalysisRecord analysisRecord,
CommandContext context)
buildRules
public RuleStack buildRules()
generatePlan
public PlanNode generatePlan(Command cmd)
throws TeiidComponentException,
TeiidProcessingException
- Throws:
TeiidComponentException
TeiidProcessingException
getTrackableGroup
public static java.lang.Object getTrackableGroup(GroupSymbol group,
QueryMetadataInterface metadata)
throws TeiidComponentException,
QueryMetadataException
- Throws:
TeiidComponentException
QueryMetadataException
createSelectNode
public static PlanNode createSelectNode(Criteria crit,
boolean isHaving)
buildGroupingNode
public static SymbolMap buildGroupingNode(java.util.Collection<AggregateSymbol> aggs,
java.util.List<? extends Expression> groupingCols,
PlanNode groupNode,
CommandContext cc,
IDGenerator idGenerator)
throws QueryMetadataException,
TeiidComponentException
- Build a grouping node that introduces a anon group (without a inline view source node)
- Throws:
QueryMetadataException
TeiidComponentException
createMatViewQuery
public static Query createMatViewQuery(java.lang.Object matMetadataId,
java.lang.String matTableName,
java.util.List<? extends SelectSymbol> select,
boolean isGlobal)
isNoCacheGroup
public static boolean isNoCacheGroup(QueryMetadataInterface metadata,
java.lang.Object metadataID,
Option option)
throws QueryMetadataException,
TeiidComponentException
- Throws:
QueryMetadataException
TeiidComponentException
Copyright © 2011. All Rights Reserved.