Class CalciteRulesManager

java.lang.Object
org.apache.druid.sql.calcite.planner.CalciteRulesManager

public class CalciteRulesManager extends Object
  • Field Details

  • Constructor Details

    • CalciteRulesManager

      @Inject public CalciteRulesManager(Set<ExtensionCalciteRuleProvider> extensionCalciteRuleProviderSet)
      Manages the rules for planning of SQL queries via Calcite. Also provides methods for extensions to provide custom rules for planning.
      Parameters:
      extensionCalciteRuleProviderSet - the set of custom rules coming from extensions
  • Method Details

    • programs

      public List<org.apache.calcite.tools.Program> programs(PlannerContext plannerContext)
    • druidConventionRuleSet

      public List<org.apache.calcite.plan.RelOptRule> druidConventionRuleSet(PlannerContext plannerContext)
    • logicalConventionRuleSet

      public List<org.apache.calcite.plan.RelOptRule> logicalConventionRuleSet(PlannerContext plannerContext)
    • bindableConventionRuleSet

      public List<org.apache.calcite.plan.RelOptRule> bindableConventionRuleSet(PlannerContext plannerContext)
    • configurableRuleSet

      public List<org.apache.calcite.plan.RelOptRule> configurableRuleSet(PlannerContext plannerContext)
    • baseRuleSet

      public List<org.apache.calcite.plan.RelOptRule> baseRuleSet(PlannerContext plannerContext, boolean withJoinRules)