Class RelOptLattice


  • public class RelOptLattice
    extends java.lang.Object
    Use of a lattice by the query optimizer.
    • Field Detail

      • lattice

        public final Lattice lattice
      • starRelOptTable

        public final RelOptTable starRelOptTable
    • Constructor Detail

    • Method Detail

      • rewrite

        public RelNode rewrite​(RelNode node)
        Rewrites a relational expression to use a lattice.

        Returns null if a rewrite is not possible.

        Parameters:
        node - Relational expression
        Returns:
        Rewritten query
      • getAggregate

        public Pair<CalciteSchema.TableEntry,​TileKey> getAggregate​(RelOptPlanner planner,
                                                                         ImmutableBitSet groupSet,
                                                                         java.util.List<Lattice.Measure> measureList)
        Retrieves a materialized table that will satisfy an aggregate query on the star table.

        The current implementation creates a materialization and populates it, provided that Lattice.auto is true.

        Future implementations might return materializations at a different level of aggregation, from which the desired result can be obtained by rolling up.

        Parameters:
        planner - Current planner
        groupSet - Grouping key
        measureList - Calls to aggregate functions
        Returns:
        Materialized table