Package org.teiid.query.optimizer
Interface CommandPlanner
-
- All Known Implementing Classes:
BatchedUpdatePlanner
,DdlPlanner
,ProcedurePlanner
,SourceTriggerActionPlanner
public interface CommandPlanner
The common interface of all planners which take a user's command object and produce a
ProcessorPlan
object, which is a plan for executing the query.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ProcessorPlan
optimize(Command command, IDGenerator idGenerator, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, AnalysisRecord analysisRecord, CommandContext context)
Allows the planner a chance to optimize the canonical plan(s) stored in the CommandTreeNode tree.
-
-
-
Method Detail
-
optimize
ProcessorPlan optimize(Command command, IDGenerator idGenerator, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, AnalysisRecord analysisRecord, CommandContext context) throws QueryPlannerException, QueryMetadataException, TeiidComponentException
Allows the planner a chance to optimize the canonical plan(s) stored in the CommandTreeNode tree. This method should be called in a bottom-up manner; from leaf nodes up to the root node.- Parameters:
command
- TODOmetadata
- source of metadatacapFinder
- Class usable to find the connector capabilities for a particular modelcontext
-- Returns:
- ProcessorPlan implementation specific to the CommandPlanner
- Throws:
QueryPlannerException
- indicating a problem in planningQueryMetadataException
- indicating an exception in accessing the metadataTeiidComponentException
- indicating an unexpected exception
-
-