public abstract class AbstractIndexDescriptor extends DrillIndexDefinition implements IndexDescriptor
IndexDefinition.IndexTypeallIndexColumns, indexCollationContext, indexColumns, indexName, indexType, nonIndexColumns, nullsDirection, rowKeyColumns, tableName| Constructor and Description |
|---|
AbstractIndexDescriptor(List<LogicalExpression> indexCols,
CollationContext indexCollationContext,
List<LogicalExpression> nonIndexCols,
List<LogicalExpression> rowKeyColumns,
String indexName,
String tableName,
IndexDefinition.IndexType type,
org.apache.calcite.rel.RelFieldCollation.NullDirection nullsDirection) |
| Modifier and Type | Method and Description |
|---|---|
org.apache.calcite.plan.RelOptCost |
getCost(IndexProperties indexProps,
org.apache.calcite.plan.RelOptPlanner planner,
int numProjectedFields,
GroupScan primaryGroupScan)
Get the total cost of index access (I/O, CPU) in the context of the current query
|
IndexGroupScan |
getIndexGroupScan()
Get an instance of the group scan associated with this index descriptor
|
double |
getRows(org.apache.calcite.rel.RelNode scan,
org.apache.calcite.rex.RexNode indexCondition)
Get the estimated row count for a single index condition
|
boolean |
isAsyncIndex()
Whether this index is maintained synchronously (i.e primary table updates are propagated to the index
synchronously) or asynchronously with some delay.
|
boolean |
supportsFullTextSearch()
Whether or not the index supports full-text search (to allow pushing down such filters)
|
boolean |
supportsRowCountStats()
Whether or not the index supports getting row count statistics
|
allColumnsIndexed, columnsInIndexFields, equals, getCollation, getCollationMap, getIndexColumnOrdinal, getIndexColumns, getIndexName, getIndexType, getNonIndexColumns, getNullsOrderingDirection, getRowKeyColumns, getTableName, hashCode, isCoveringIndex, pathExactIn, someColumnsIndexed, someColumnsInIndexFields, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetFunctionalInfo, getPluginCostModelallColumnsIndexed, getCollation, getCollationMap, getIndexColumnOrdinal, getIndexColumns, getIndexName, getIndexType, getNonIndexColumns, getNullsOrderingDirection, getRowKeyColumns, getTableName, isCoveringIndex, someColumnsIndexedpublic AbstractIndexDescriptor(List<LogicalExpression> indexCols, CollationContext indexCollationContext, List<LogicalExpression> nonIndexCols, List<LogicalExpression> rowKeyColumns, String indexName, String tableName, IndexDefinition.IndexType type, org.apache.calcite.rel.RelFieldCollation.NullDirection nullsDirection)
public double getRows(org.apache.calcite.rel.RelNode scan,
org.apache.calcite.rex.RexNode indexCondition)
IndexDescriptorgetRows in interface IndexDescriptorscan - The rel node corresponding to the primary tableindexCondition - The index condition (e.g index_col1 < 10 AND index_col2 = 'abc')public boolean supportsRowCountStats()
IndexDescriptorsupportsRowCountStats in interface IndexDescriptorpublic IndexGroupScan getIndexGroupScan()
IndexDescriptorgetIndexGroupScan in interface IndexDescriptorpublic boolean supportsFullTextSearch()
IndexDescriptorsupportsFullTextSearch in interface IndexDescriptorpublic org.apache.calcite.plan.RelOptCost getCost(IndexProperties indexProps, org.apache.calcite.plan.RelOptPlanner planner, int numProjectedFields, GroupScan primaryGroupScan)
IndexDescriptorgetCost in interface IndexDescriptorindexProps - properties (metrics) of a single index in the context of current queryplanner - Planner instancenumProjectedFields - Number of projected fieldsprimaryGroupScan - Primary table's GroupScan instancepublic boolean isAsyncIndex()
IndexDescriptorisAsyncIndex in interface IndexDescriptorCopyright © 2022 The Apache Software Foundation. All rights reserved.