public class MapRDBIndexDescriptor extends DrillIndexDescriptor
IndexDefinition.IndexType
Modifier and Type | Field and Description |
---|---|
protected Set<LogicalExpression> |
allFields |
protected Object |
desc |
protected MapRDBFunctionalIndexInfo |
functionalInfo |
protected Set<LogicalExpression> |
indexedFields |
protected PluginCost |
pluginCost |
allIndexColumns, indexCollationContext, indexColumns, indexName, indexType, nonIndexColumns, nullsDirection, rowKeyColumns, tableName
Constructor and Description |
---|
MapRDBIndexDescriptor(List<LogicalExpression> indexCols,
CollationContext indexCollationContext,
List<LogicalExpression> nonIndexCols,
List<LogicalExpression> rowKeyColumns,
String indexName,
String tableName,
IndexDefinition.IndexType type,
Object desc,
DbGroupScan scan,
org.apache.calcite.rel.RelFieldCollation.NullDirection nullsDirection) |
Modifier and Type | Method and Description |
---|---|
boolean |
allColumnsIndexed(Collection<LogicalExpression> expressions)
Check if this index have all the columns specified in the supplied list of columns indexed
|
org.apache.calcite.plan.RelOptCost |
getCost(IndexProperties indexProps,
org.apache.calcite.plan.RelOptPlanner planner,
int numProjectedFields,
GroupScan primaryTableGroupScan)
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).
|
Object |
getOriginalDesc() |
PluginCost |
getPluginCostModel()
Get the costing factors associated with the storage/format plugin
|
boolean |
isCoveringIndex(List<LogicalExpression> expressions)
Check if this index 'covers' all the columns specified in the supplied list of columns
|
boolean |
someColumnsIndexed(Collection<LogicalExpression> columns)
Check if this index has some columns specified in the supplied list of columns indexed
|
getDrillTable, getIndexGroupScan, getRows, getStorageName, setDrillTable, setStorageName
isAsyncIndex, supportsFullTextSearch, supportsRowCountStats
columnsInIndexFields, equals, getCollation, getCollationMap, getIndexColumnOrdinal, getIndexColumns, getIndexName, getIndexType, getNonIndexColumns, getNullsOrderingDirection, getRowKeyColumns, getTableName, hashCode, pathExactIn, someColumnsInIndexFields, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getCollation, getCollationMap, getIndexColumnOrdinal, getIndexColumns, getIndexName, getIndexType, getNonIndexColumns, getNullsOrderingDirection, getRowKeyColumns, getTableName
protected final Object desc
protected final Set<LogicalExpression> allFields
protected final Set<LogicalExpression> indexedFields
protected MapRDBFunctionalIndexInfo functionalInfo
protected PluginCost pluginCost
public MapRDBIndexDescriptor(List<LogicalExpression> indexCols, CollationContext indexCollationContext, List<LogicalExpression> nonIndexCols, List<LogicalExpression> rowKeyColumns, String indexName, String tableName, IndexDefinition.IndexType type, Object desc, DbGroupScan scan, org.apache.calcite.rel.RelFieldCollation.NullDirection nullsDirection)
public Object getOriginalDesc()
public boolean isCoveringIndex(List<LogicalExpression> expressions)
IndexDefinition
isCoveringIndex
in interface IndexDefinition
isCoveringIndex
in class DrillIndexDefinition
public boolean allColumnsIndexed(Collection<LogicalExpression> expressions)
IndexDefinition
allColumnsIndexed
in interface IndexDefinition
allColumnsIndexed
in class DrillIndexDefinition
public boolean someColumnsIndexed(Collection<LogicalExpression> columns)
IndexDefinition
someColumnsIndexed
in interface IndexDefinition
someColumnsIndexed
in class DrillIndexDefinition
public FunctionalIndexInfo getFunctionalInfo()
IndexDescriptor
getFunctionalInfo
in interface IndexDescriptor
getFunctionalInfo
in class DrillIndexDescriptor
public org.apache.calcite.plan.RelOptCost getCost(IndexProperties indexProps, org.apache.calcite.plan.RelOptPlanner planner, int numProjectedFields, GroupScan primaryTableGroupScan)
IndexDescriptor
getCost
in interface IndexDescriptor
getCost
in class AbstractIndexDescriptor
indexProps
- properties (metrics) of a single index in the context of current queryplanner
- Planner instancenumProjectedFields
- Number of projected fieldsprimaryTableGroupScan
- Primary table's GroupScan instancepublic PluginCost getPluginCostModel()
IndexDescriptor
getPluginCostModel
in interface IndexDescriptor
getPluginCostModel
in class DrillIndexDescriptor
Copyright © 1970 The Apache Software Foundation. All rights reserved.