org.teiid.query.optimizer
Interface CommandPlanner

All Known Implementing Classes:
BatchedUpdatePlanner, ProcedurePlanner, XMLPlanner

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
 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 - TODO
metadata - source of metadata
capFinder - Class usable to find the connector capabilities for a particular model
context -
debug - whether or not to generate verbose debug output during planning
Returns:
ProcessorPlan implementation specific to the CommandPlanner
Throws:
QueryPlannerException - indicating a problem in planning
QueryMetadataException - indicating an exception in accessing the metadata
TeiidComponentException - indicating an unexpected exception


Copyright © 2010. All Rights Reserved.