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, someColumnsIndexeddouble 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 © 2021 The Apache Software Foundation. All rights reserved.