Class DrillIndexCollection
java.lang.Object
org.apache.drill.exec.planner.index.AbstractIndexCollection
org.apache.drill.exec.planner.index.DrillIndexCollection
- All Implemented Interfaces:
Iterable<IndexDescriptor>
,IndexCollection
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.drill.exec.planner.index.IndexCollection
IndexCollection.IndexCollectionType
-
Field Summary
Fields inherited from class org.apache.drill.exec.planner.index.AbstractIndexCollection
indexes
-
Constructor Summary
ConstructorDescriptionDrillIndexCollection
(org.apache.calcite.rel.RelNode scanRel, Set<DrillIndexDescriptor> indexes) -
Method Summary
Modifier and TypeMethodDescriptionIf this IndexCollection exposes a single GroupScan, return the GroupScan instance.Get the type of this index based onIndexCollection.IndexCollectionType
double
getRows
(org.apache.calcite.rex.RexNode indexCondition) Get the estimated row count for a single index conditionboolean
Whether or not the index supports full-text search (to allow pushing down such filters)boolean
Whether or not this index collection supports index selection (selecting an appropriate index out of multiple candidates).boolean
Whether or not the index supports getting row count statisticsMethods inherited from class org.apache.drill.exec.planner.index.AbstractIndexCollection
addIndex, clearAll, isColumnIndexed, iterator, removeIndex
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
DrillIndexCollection
public DrillIndexCollection(org.apache.calcite.rel.RelNode scanRel, Set<DrillIndexDescriptor> indexes)
-
-
Method Details
-
supportsIndexSelection
public boolean supportsIndexSelection()Description copied from interface:IndexCollection
Whether or not this index collection supports index selection (selecting an appropriate index out of multiple candidates). Typically, external index collections such as Elasticsearch already have this capability while native secondary index collection may not have - in such cases, Drill needs to do the index selection.- Specified by:
supportsIndexSelection
in interfaceIndexCollection
- Overrides:
supportsIndexSelection
in classAbstractIndexCollection
-
supportsRowCountStats
public boolean supportsRowCountStats()Description copied from interface:IndexCollection
Whether or not the index supports getting row count statistics- Specified by:
supportsRowCountStats
in interfaceIndexCollection
- Overrides:
supportsRowCountStats
in classAbstractIndexCollection
- Returns:
- True if index supports getting row count, False otherwise
-
supportsFullTextSearch
public boolean supportsFullTextSearch()Description copied from interface:IndexCollection
Whether or not the index supports full-text search (to allow pushing down such filters)- Specified by:
supportsFullTextSearch
in interfaceIndexCollection
- Overrides:
supportsFullTextSearch
in classAbstractIndexCollection
- Returns:
- True if index supports full-text search, False otherwise
-
getRows
public double getRows(org.apache.calcite.rex.RexNode indexCondition) Description copied from interface:IndexCollection
Get the estimated row count for a single index condition- Specified by:
getRows
in interfaceIndexCollection
- Overrides:
getRows
in classAbstractIndexCollection
- Parameters:
indexCondition
- The index condition (e.g index_col1 < 10 AND index_col2 = 'abc')- Returns:
- The estimated row count
-
getGroupScan
Description copied from interface:IndexCollection
If this IndexCollection exposes a single GroupScan, return the GroupScan instance. For external indexes such as Elasticsearch, we may have a single GroupScan representing all the indexes contained within that collection. On the other hand, for native indexes, each separate index would have its own GroupScan.- Returns:
- GroupScan for this IndexCollection if available, otherwise null
-
getIndexCollectionType
Description copied from interface:IndexCollection
Get the type of this index based onIndexCollection.IndexCollectionType
- Returns:
- one of the values in
IndexCollection.IndexCollectionType
-