Package com.metamatrix.query.optimizer.relational.rules

Class Summary
CapabilitiesUtil  
CriteriaCapabilityValidatorVisitor  
FrameUtil  
JoinUtil Utility methods for query planning related to joins.
NewCalculateCostUtil  
RuleAccessPatternValidation Validates that the access pattern(s) of a source are satisfied.
RuleAssignOutputElements This rule is responsible for assigning the output elements to every node in the plan.
RuleCalculateCost  
RuleChooseDependent Finds nodes that can be turned into dependent joins
RuleChooseJoinStrategy Marks join as a candidate merge join if conditions are met
RuleCleanCriteria Removes phantom and TRUE or FALSE criteria
RuleCollapseSource  
RuleConstants  
RuleCopyCriteria For each join node this rule will find the set of criteria allowed to influence the join (the join criteria, and inner side criteria on non full outer joins) and builds new criteria based upon the equality relationships found.
RuleImplementJoinStrategy Inserts sort nodes for specific join strategies.
RuleMergeCriteria  
RuleMergeVirtual  
RulePlaceAccess This rule finds all SOURCE nodes and associates ACCESS patterns, ACCESS nodes, and aliases.
RulePlanJoins Determines join orderings based upon dependency and cost information The algorithm works as follows: Stage 1.
RulePlanProcedures  
RulePlanSorts Attempts to minimize the cost of sorting operations across the plan.
RulePlanUnions Organizes union branches so that push down is possible.
RulePushAggregates  
RulePushLimit Pushes limit nodes to their lowest points.
RulePushNonJoinCriteria Pushes on criteria out of the on clause if possible.
RulePushSelectCriteria  
RuleRaiseAccess  
RuleRaiseNull Will attempt to raise null nodes to their highest points
RuleRemoveOptionalJoins Removes optional join nodes if elements originating from that join are not used in the top level project symbols.
RuleRemoveSorts Removes all nested sorts that are not under a limit.
RuleValidateWhereAll Validates that the any atomic query being sent to a model where the model requires a criteria actually has a criteria.
 



Copyright © 2009. All Rights Reserved.