public static class IndexSelector.DrillIndexProperties extends Object implements IndexProperties
Constructor and Description |
---|
DrillIndexProperties(IndexDescriptor indexDescriptor,
boolean isCovering,
org.apache.calcite.rex.RexNode otherColumnsRemainderFilter,
org.apache.calcite.rex.RexBuilder rexBuilder,
int numProjectedFields,
double totalRows,
DrillScanRelBase primaryTableScan) |
Modifier and Type | Method and Description |
---|---|
double |
getAvgRowSize() |
IndexDescriptor |
getIndexDesc() |
org.apache.calcite.plan.RelOptCost |
getIntersectCost(IndexGroup index,
IndexConditionInfo.Builder builder,
org.apache.calcite.plan.RelOptPlanner planner) |
org.apache.calcite.plan.RelOptCost |
getIntersectCost(IndexGroup index,
IndexConditionInfo.Builder builder,
org.apache.calcite.plan.RelOptPlanner planner,
PluginCost costBase,
DrillScanRelBase scanRel) |
org.apache.calcite.rex.RexNode |
getLeadingColumnsFilter() |
double |
getLeadingSelectivity() |
DrillScanRelBase |
getPrimaryTableScan() |
double |
getRemainderSelectivity() |
org.apache.calcite.plan.RelOptCost |
getSelfCost(org.apache.calcite.plan.RelOptPlanner planner) |
org.apache.calcite.rex.RexNode |
getTotalRemainderFilter() |
double |
getTotalRows() |
boolean |
isCovering() |
int |
numLeadingFilters() |
org.apache.calcite.rex.RexNode |
remainderCondition(IndexDescriptor indexDesc,
IndexConditionInfo.Builder builder,
org.apache.calcite.rex.RexNode initCondition) |
boolean |
satisfiesCollation() |
void |
setProperties(Map<LogicalExpression,org.apache.calcite.rex.RexNode> prefixMap,
boolean satisfiesCollation,
org.apache.calcite.rex.RexNode indexColumnsRemainderFilter,
Statistics stats) |
void |
setSatisfiesCollation(boolean satisfiesCollation) |
public DrillIndexProperties(IndexDescriptor indexDescriptor, boolean isCovering, org.apache.calcite.rex.RexNode otherColumnsRemainderFilter, org.apache.calcite.rex.RexBuilder rexBuilder, int numProjectedFields, double totalRows, DrillScanRelBase primaryTableScan)
public void setProperties(Map<LogicalExpression,org.apache.calcite.rex.RexNode> prefixMap, boolean satisfiesCollation, org.apache.calcite.rex.RexNode indexColumnsRemainderFilter, Statistics stats)
setProperties
in interface IndexProperties
public double getLeadingSelectivity()
getLeadingSelectivity
in interface IndexProperties
public double getRemainderSelectivity()
getRemainderSelectivity
in interface IndexProperties
public boolean isCovering()
isCovering
in interface IndexProperties
public double getTotalRows()
getTotalRows
in interface IndexProperties
public IndexDescriptor getIndexDesc()
getIndexDesc
in interface IndexProperties
public org.apache.calcite.rex.RexNode getLeadingColumnsFilter()
getLeadingColumnsFilter
in interface IndexProperties
public org.apache.calcite.rex.RexNode getTotalRemainderFilter()
getTotalRemainderFilter
in interface IndexProperties
public boolean satisfiesCollation()
satisfiesCollation
in interface IndexProperties
public void setSatisfiesCollation(boolean satisfiesCollation)
setSatisfiesCollation
in interface IndexProperties
public org.apache.calcite.plan.RelOptCost getSelfCost(org.apache.calcite.plan.RelOptPlanner planner)
getSelfCost
in interface IndexProperties
public org.apache.calcite.plan.RelOptCost getIntersectCost(IndexGroup index, IndexConditionInfo.Builder builder, org.apache.calcite.plan.RelOptPlanner planner)
getIntersectCost
in interface IndexProperties
public int numLeadingFilters()
numLeadingFilters
in interface IndexProperties
public double getAvgRowSize()
getAvgRowSize
in interface IndexProperties
public DrillScanRelBase getPrimaryTableScan()
getPrimaryTableScan
in interface IndexProperties
public org.apache.calcite.plan.RelOptCost getIntersectCost(IndexGroup index, IndexConditionInfo.Builder builder, org.apache.calcite.plan.RelOptPlanner planner, PluginCost costBase, DrillScanRelBase scanRel)
public org.apache.calcite.rex.RexNode remainderCondition(IndexDescriptor indexDesc, IndexConditionInfo.Builder builder, org.apache.calcite.rex.RexNode initCondition)
Copyright © 1970 The Apache Software Foundation. All rights reserved.