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 IndexPropertiespublic double getLeadingSelectivity()
getLeadingSelectivity in interface IndexPropertiespublic double getRemainderSelectivity()
getRemainderSelectivity in interface IndexPropertiespublic boolean isCovering()
isCovering in interface IndexPropertiespublic double getTotalRows()
getTotalRows in interface IndexPropertiespublic IndexDescriptor getIndexDesc()
getIndexDesc in interface IndexPropertiespublic org.apache.calcite.rex.RexNode getLeadingColumnsFilter()
getLeadingColumnsFilter in interface IndexPropertiespublic org.apache.calcite.rex.RexNode getTotalRemainderFilter()
getTotalRemainderFilter in interface IndexPropertiespublic boolean satisfiesCollation()
satisfiesCollation in interface IndexPropertiespublic void setSatisfiesCollation(boolean satisfiesCollation)
setSatisfiesCollation in interface IndexPropertiespublic org.apache.calcite.plan.RelOptCost getSelfCost(org.apache.calcite.plan.RelOptPlanner planner)
getSelfCost in interface IndexPropertiespublic org.apache.calcite.plan.RelOptCost getIntersectCost(IndexGroup index, IndexConditionInfo.Builder builder, org.apache.calcite.plan.RelOptPlanner planner)
getIntersectCost in interface IndexPropertiespublic int numLeadingFilters()
numLeadingFilters in interface IndexPropertiespublic double getAvgRowSize()
getAvgRowSize in interface IndexPropertiespublic DrillScanRelBase getPrimaryTableScan()
getPrimaryTableScan in interface IndexPropertiespublic 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 © 2021 The Apache Software Foundation. All rights reserved.