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 |
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 |
getGlobalTempTableMetadataId(GroupSymbol table,
java.lang.String matTableName,
CommandContext context,
QueryMetadataInterface metadata,
AnalysisRecord analysisRecord)
|
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
createSelectNode
public static PlanNode createSelectNode(Criteria crit,
boolean isHaving)
createMatViewQuery
public static Query createMatViewQuery(java.lang.Object matMetadataId,
java.lang.String matTableName,
java.util.List<? extends SelectSymbol> select,
boolean isGlobal)
getGlobalTempTableMetadataId
public static java.lang.Object getGlobalTempTableMetadataId(GroupSymbol table,
java.lang.String matTableName,
CommandContext context,
QueryMetadataInterface metadata,
AnalysisRecord analysisRecord)
throws QueryMetadataException,
TeiidComponentException,
QueryResolverException,
QueryValidatorException
- Throws:
QueryMetadataException
TeiidComponentException
QueryResolverException
QueryValidatorException
isNoCacheGroup
public static boolean isNoCacheGroup(QueryMetadataInterface metadata,
java.lang.Object metadataID,
Option option)
throws QueryMetadataException,
TeiidComponentException
- Throws:
QueryMetadataException
TeiidComponentException
Copyright © 2011. All Rights Reserved.