public static class IndexConditionInfo.Builder extends Object
Constructor and Description |
---|
Builder(org.apache.calcite.rex.RexNode condition,
IndexDescriptor index,
org.apache.calcite.rex.RexBuilder builder,
DrillScanRel scan) |
Builder(org.apache.calcite.rex.RexNode condition,
Iterable<IndexDescriptor> indexes,
org.apache.calcite.rex.RexBuilder builder,
org.apache.calcite.rel.RelNode scan) |
Modifier and Type | Method and Description |
---|---|
IndexConditionInfo |
getCollectiveInfo(IndexLogicalPlanCallContext indexContext)
Get a single IndexConditionInfo in which indexCondition has field on all indexes in this.indexes
|
Map<IndexDescriptor,IndexConditionInfo> |
getFirstKeyIndexConditionMap()
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
Map<IndexDescriptor,IndexConditionInfo> |
getIndexConditionMap()
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
Map<IndexDescriptor,IndexConditionInfo> |
getIndexConditionMap(List<IndexDescriptor> indexList)
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
IndexConditionInfo |
indexConditionRelatedToFields(List<LogicalExpression> relevantPaths,
org.apache.calcite.rex.RexNode condition)
Given a list of Index Expressions(usually indexed fields/functions from one or a set of indexes),
separate a filter condition into
1), relevant subset of conditions (by relevant, it means at least one given index Expression was found) and,
2), the rest in remainderCondition
|
boolean |
isConditionPrefix(IndexDescriptor indexDesc,
org.apache.calcite.rex.RexNode initCondition)
Given a RexNode corresponding to the condition expression tree and the index descriptor,
check if one or more columns involved in the condition tree form a prefix of the columns in the
index keys.
|
boolean |
isValidIndexHint(IndexLogicalPlanCallContext indexContext) |
public Builder(org.apache.calcite.rex.RexNode condition, Iterable<IndexDescriptor> indexes, org.apache.calcite.rex.RexBuilder builder, org.apache.calcite.rel.RelNode scan)
public Builder(org.apache.calcite.rex.RexNode condition, IndexDescriptor index, org.apache.calcite.rex.RexBuilder builder, DrillScanRel scan)
public IndexConditionInfo getCollectiveInfo(IndexLogicalPlanCallContext indexContext)
public boolean isValidIndexHint(IndexLogicalPlanCallContext indexContext)
public Map<IndexDescriptor,IndexConditionInfo> getFirstKeyIndexConditionMap()
IndexDescriptor
and condition IndexConditionInfo
pairspublic boolean isConditionPrefix(IndexDescriptor indexDesc, org.apache.calcite.rex.RexNode initCondition)
indexDesc
- initCondition
- public Map<IndexDescriptor,IndexConditionInfo> getIndexConditionMap(List<IndexDescriptor> indexList)
IndexDescriptor
and condition IndexConditionInfo
pairspublic Map<IndexDescriptor,IndexConditionInfo> getIndexConditionMap()
IndexDescriptor
and condition IndexConditionInfo
pairspublic IndexConditionInfo indexConditionRelatedToFields(List<LogicalExpression> relevantPaths, org.apache.calcite.rex.RexNode condition)
relevantPaths
- condition
- Copyright © 1970 The Apache Software Foundation. All rights reserved.