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
ConstructorsConstructorDescriptionDrillIndexCollection(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.IndexCollectionTypedoublegetRows(org.apache.calcite.rex.RexNode indexCondition) Get the estimated row count for a single index conditionbooleanWhether or not the index supports full-text search (to allow pushing down such filters)booleanWhether or not this index collection supports index selection (selecting an appropriate index out of multiple candidates).booleanWhether or not the index supports getting row count statisticsMethods inherited from class org.apache.drill.exec.planner.index.AbstractIndexCollection
addIndex, clearAll, isColumnIndexed, iterator, removeIndexMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:IndexCollectionWhether 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:
supportsIndexSelectionin interfaceIndexCollection- Overrides:
supportsIndexSelectionin classAbstractIndexCollection
-
supportsRowCountStats
public boolean supportsRowCountStats()Description copied from interface:IndexCollectionWhether or not the index supports getting row count statistics- Specified by:
supportsRowCountStatsin interfaceIndexCollection- Overrides:
supportsRowCountStatsin classAbstractIndexCollection- Returns:
- True if index supports getting row count, False otherwise
-
supportsFullTextSearch
public boolean supportsFullTextSearch()Description copied from interface:IndexCollectionWhether or not the index supports full-text search (to allow pushing down such filters)- Specified by:
supportsFullTextSearchin interfaceIndexCollection- Overrides:
supportsFullTextSearchin 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:IndexCollectionGet the estimated row count for a single index condition- Specified by:
getRowsin interfaceIndexCollection- Overrides:
getRowsin classAbstractIndexCollection- Parameters:
indexCondition- The index condition (e.g index_col1 invalid input: '<' 10 AND index_col2 = 'abc')- Returns:
- The estimated row count
-
getGroupScan
Description copied from interface:IndexCollectionIf 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:IndexCollectionGet the type of this index based onIndexCollection.IndexCollectionType- Returns:
- one of the values in
IndexCollection.IndexCollectionType
-