Class RuleQueue

java.lang.Object
org.apache.calcite.plan.volcano.RuleQueue

public abstract class RuleQueue extends Object
A data structure that manages rule matches for RuleDriver. Different RuleDriver requires different ways to pop matches, thus different ways to store rule matches that are not called.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final VolcanoPlanner
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    addMatch(org.apache.calcite.plan.volcano.VolcanoRuleMatch match)
    Add a RuleMatch into the queue.
    abstract boolean
    clear this rule queue.
    protected boolean
    skipMatch(org.apache.calcite.plan.volcano.VolcanoRuleMatch match)
    Returns whether to skip a match.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • addMatch

      public abstract void addMatch(org.apache.calcite.plan.volcano.VolcanoRuleMatch match)
      Add a RuleMatch into the queue.
      Parameters:
      match - rule match to add
    • clear

      public abstract boolean clear()
      clear this rule queue. The return value indicates whether the rule queue was empty before clear.
      Returns:
      true if the rule queue was not empty
    • skipMatch

      protected boolean skipMatch(org.apache.calcite.plan.volcano.VolcanoRuleMatch match)
      Returns whether to skip a match. This happens if any of the RelNodes have importance zero.