public interface IndexDescriptor extends IndexDefinition
IndexDefinition.IndexType
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
|
FunctionalIndexInfo |
getFunctionalInfo()
Get the functional index information associated with this index (Functional indexes are
indexes involving expressions e.g CAST(a as INT).
|
IndexGroupScan |
getIndexGroupScan()
Get an instance of the group scan associated with this index descriptor
|
PluginCost |
getPluginCostModel()
Get the costing factors associated with the storage/format plugin
|
double |
getRows(org.apache.calcite.rel.RelNode input,
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, getCollation, getCollationMap, getIndexColumnOrdinal, getIndexColumns, getIndexName, getIndexType, getNonIndexColumns, getNullsOrderingDirection, getRowKeyColumns, getTableName, isCoveringIndex, someColumnsIndexed
double getRows(org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode indexCondition)
input
- The rel node corresponding to the primary tableindexCondition
- The index condition (e.g index_col1 < 10 AND index_col2 = 'abc')boolean supportsRowCountStats()
IndexGroupScan getIndexGroupScan()
boolean supportsFullTextSearch()
FunctionalIndexInfo getFunctionalInfo()
org.apache.calcite.plan.RelOptCost getCost(IndexProperties indexProps, org.apache.calcite.plan.RelOptPlanner planner, int numProjectedFields, GroupScan primaryGroupScan)
indexProps
- properties (metrics) of a single index in the context of current queryplanner
- Planner instancenumProjectedFields
- Number of projected fieldsprimaryGroupScan
- Primary table's GroupScan instancePluginCost getPluginCostModel()
boolean isAsyncIndex()
Copyright © 2022 The Apache Software Foundation. All rights reserved.