Interface QueryOptimizer.OptimizationRule

All Known Implementing Classes:
QueryOptimizer.ColumnPruning, QueryOptimizer.ConstantFolding, QueryOptimizer.IndexSelection, QueryOptimizer.LimitPushDown, QueryOptimizer.PredicatePushDown
Enclosing class:
QueryOptimizer

Sealed interface for optimization rules. Each rule applies a specific optimization transformation to a query plan.
  • Method Details

    • apply

      QueryPlan apply(QueryPlan plan, @Nullable QueryOptimizer.TableStatistics stats, Map<String, MapIndex<?,?>> availableIndexes)
      Applies this optimization rule to the given query plan.
      Parameters:
      plan - the original query plan
      stats - table statistics (if available)
      availableIndexes - available indexes for the table
      Returns:
      optimized query plan, or original if optimization cannot be applied
    • name

      String name()
      Gets the name of this optimization rule.