Package | Description |
---|---|
org.teiid.query.optimizer.relational | |
org.teiid.query.optimizer.relational.rules |
Modifier and Type | Method and Description |
---|---|
OptimizerRule |
RuleStack.pop() |
Modifier and Type | Method and Description |
---|---|
void |
RuleStack.addLast(OptimizerRule rule) |
boolean |
RuleStack.contains(OptimizerRule rule) |
void |
RuleStack.push(OptimizerRule rule) |
void |
RuleStack.remove(OptimizerRule rule)
Remove all occurrences of this rule in the stack
|
Modifier and Type | Class and Description |
---|---|
class |
RuleAccessPatternValidation
Validates that the access pattern(s) of a source are satisfied.
|
class |
RuleApplySecurity
Applies row/column security to a non-update plan
Should be run after rule assign output elements
|
class |
RuleAssignOutputElements
This rule is responsible for assigning the output elements to every node in the
plan.
|
class |
RuleCalculateCost |
class |
RuleChooseDependent
Finds nodes that can be turned into dependent joins
|
class |
RuleChooseJoinStrategy
Marks join as a candidate merge join if conditions are met
|
class |
RuleCleanCriteria
Removes phantom and TRUE or FALSE criteria
|
class |
RuleCollapseSource |
class |
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.
|
class |
RuleDecomposeJoin
Perform the optimization:
|
class |
RuleImplementJoinStrategy
Inserts sort nodes for specific join strategies.
|
class |
RuleMergeCriteria |
class |
RuleMergeVirtual |
class |
RulePlaceAccess
This rule finds all SOURCE nodes and associates ACCESS patterns, ACCESS nodes, and aliases.
|
class |
RulePlanJoins
Determines join orderings based upon dependency and cost information
The algorithm works as follows:
Stage 1.
|
class |
RulePlanOuterJoins |
class |
RulePlanProcedures |
class |
RulePlanSorts
Attempts to minimize the cost of sorting operations across the plan.
|
class |
RulePlanSubqueries |
class |
RulePlanUnions
Organizes union branches so that push down is possible.
|
class |
RulePushAggregates |
class |
RulePushLargeIn
Look for large in predicates that were not pushed and push them as dependent set criteria
|
class |
RulePushLimit
Pushes limit nodes to their lowest points.
|
class |
RulePushNonJoinCriteria
Pushes on criteria out of the on clause if possible.
|
class |
RulePushSelectCriteria |
class |
RuleRaiseAccess |
class |
RuleRaiseNull
Will attempt to raise null nodes to their highest points
|
class |
RuleRemoveOptionalJoins
Removes optional join nodes if elements originating from that join are not used in the
top level project symbols.
|
class |
RuleSubstituteExpressions
Substitutes column references for expressions
|
class |
RuleValidateWhereAll
Validates that the any atomic query being sent to a model where the model
requires a criteria actually has a criteria.
|
Copyright © 2019. All rights reserved.