Class RuleQueue.PhaseMatchList

    • 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 in list.
      (package private) VolcanoPlannerPhase phase
      The VolcanoPlannerPhase that this PhaseMatchList is used in.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void clear()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 in list. Allows fast detection of duplicate rule-matches.
    • Method Detail

      • clear

        void clear()