Interface IndexProperties

All Known Implementing Classes:
IndexSelector.DrillIndexProperties

public interface IndexProperties
IndexProperties encapsulates the various metrics of a single index that are related to the current query. These metrics are subsequently used to rank the index in comparison with other indexes.
  • Method Details

    • setProperties

      void setProperties(Map<LogicalExpression,org.apache.calcite.rex.RexNode> prefixMap, boolean satisfiesCollation, org.apache.calcite.rex.RexNode indexColumnsRemainderFilter, Statistics stats)
    • getLeadingColumnsFilter

      org.apache.calcite.rex.RexNode getLeadingColumnsFilter()
    • getTotalRemainderFilter

      org.apache.calcite.rex.RexNode getTotalRemainderFilter()
    • getLeadingSelectivity

      double getLeadingSelectivity()
    • getRemainderSelectivity

      double getRemainderSelectivity()
    • isCovering

      boolean isCovering()
    • getTotalRows

      double getTotalRows()
    • getIndexDesc

      IndexDescriptor getIndexDesc()
    • getPrimaryTableScan

      DrillScanRelBase getPrimaryTableScan()
    • getIntersectCost

      org.apache.calcite.plan.RelOptCost getIntersectCost(IndexGroup index, IndexConditionInfo.Builder builder, org.apache.calcite.plan.RelOptPlanner planner)
    • satisfiesCollation

      boolean satisfiesCollation()
    • setSatisfiesCollation

      void setSatisfiesCollation(boolean satisfiesCollation)
    • getSelfCost

      org.apache.calcite.plan.RelOptCost getSelfCost(org.apache.calcite.plan.RelOptPlanner planner)
    • numLeadingFilters

      int numLeadingFilters()
    • getAvgRowSize

      double getAvgRowSize()