Package org.apache.calcite.plan.volcano
Class RuleQueue.PhaseMatchList
- java.lang.Object
-
- org.apache.calcite.plan.volcano.RuleQueue.PhaseMatchList
-
- Enclosing class:
- RuleQueue
private static class RuleQueue.PhaseMatchList extends java.lang.Object
PhaseMatchList represents a set ofrule-matches
for a particularphase of the planner's execution
.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.List<VolcanoRuleMatch>
list
Current list of VolcanoRuleMatches for this phase.(package private) com.google.common.collect.Multimap<RelSubset,VolcanoRuleMatch>
matchMap
Multi-map of RelSubset to VolcanoRuleMatches.(package private) java.util.Set<java.lang.String>
names
A set of rule-match names contained inlist
.(package private) VolcanoPlannerPhase
phase
The VolcanoPlannerPhase that this PhaseMatchList is used in.
-
Constructor Summary
Constructors Constructor Description PhaseMatchList(VolcanoPlannerPhase phase)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
clear()
-
-
-
Field Detail
-
phase
final VolcanoPlannerPhase phase
The VolcanoPlannerPhase that this PhaseMatchList is used in.
-
list
final java.util.List<VolcanoRuleMatch> list
Current list of VolcanoRuleMatches for this phase. New rule-matches are appended to the end of this list. When removing a rule-match, the list is sorted and the highest importance rule-match removed. It is important for performance that this list remain mostly sorted.Use a hunkList because
ArrayList
does not implement remove(0) efficiently.
-
names
final java.util.Set<java.lang.String> names
A set of rule-match names contained inlist
. Allows fast detection of duplicate rule-matches.
-
matchMap
final com.google.common.collect.Multimap<RelSubset,VolcanoRuleMatch> matchMap
Multi-map of RelSubset to VolcanoRuleMatches. Used toclear
the rule-match's cached importance when the importance of a related RelSubset is modified (e.g., due to invocation ofRuleQueue.boostImportance(Collection, double)
).
-
-
Constructor Detail
-
PhaseMatchList
PhaseMatchList(VolcanoPlannerPhase phase)
-
-