Class Programs


  • public class Programs
    extends java.lang.Object
    Utilities for creating Programs.
    • Field Detail

      • CALC_RULES

        public static final com.google.common.collect.ImmutableList<RelOptRule> CALC_RULES
      • CALC_PROGRAM

        public static final Program CALC_PROGRAM
        Program that converts filters and projects to Calcs.
      • SUB_QUERY_PROGRAM

        public static final Program SUB_QUERY_PROGRAM
        Program that expands sub-queries.
      • RULE_SET

        public static final com.google.common.collect.ImmutableSet<RelOptRule> RULE_SET
    • Constructor Detail

      • Programs

        private Programs()
    • Method Detail

      • of

        public static Program of​(RuleSet ruleSet)
        Creates a program that executes a rule set.
      • listOf

        public static java.util.List<Program> listOf​(RuleSet... ruleSets)
        Creates a list of programs based on an array of rule sets.
      • listOf

        public static java.util.List<Program> listOf​(java.util.List<RuleSet> ruleSets)
        Creates a list of programs based on a list of rule sets.
      • ofRules

        public static Program ofRules​(RelOptRule... rules)
        Creates a program from a list of rules.
      • ofRules

        public static Program ofRules​(java.lang.Iterable<? extends RelOptRule> rules)
        Creates a program from a list of rules.
      • sequence

        public static Program sequence​(Program... programs)
        Creates a program that executes a sequence of programs.
      • hep

        public static Program hep​(java.lang.Iterable<? extends RelOptRule> rules,
                                  boolean noDag,
                                  RelMetadataProvider metadataProvider)
        Creates a program that executes a list of rules in a HEP planner.
      • heuristicJoinOrder

        public static Program heuristicJoinOrder​(java.lang.Iterable<? extends RelOptRule> rules,
                                                 boolean bushy,
                                                 int minJoinCount)
        Creates a program that invokes heuristic join-order optimization (via JoinToMultiJoinRule, MultiJoin and LoptOptimizeJoinRule) if there are 6 or more joins (7 or more relations).
      • getProgram

        public static Program getProgram()
      • standard

        public static Program standard()
        Returns the standard program used by Prepare.
      • standard

        public static Program standard​(RelMetadataProvider metadataProvider)
        Returns the standard program with user metadata provider.