Modifier and Type | Class and Description |
---|---|
class |
AbstractIndexDescriptor
Abstract base class for an Index descriptor
|
class |
DrillIndexDescriptor |
class |
MapRDBIndexDescriptor |
Modifier and Type | Field and Description |
---|---|
protected List<IndexDescriptor> |
AbstractIndexCollection.indexes
A set of indexes for a particular table
|
Modifier and Type | Method and Description |
---|---|
IndexDescriptor |
FunctionalIndexInfo.getIndexDesc() |
IndexDescriptor |
IndexProperties.getIndexDesc() |
IndexDescriptor |
IndexSelector.DrillIndexProperties.getIndexDesc() |
IndexDescriptor |
MapRDBFunctionalIndexInfo.getIndexDesc() |
Modifier and Type | Method and Description |
---|---|
Map<IndexDescriptor,IndexConditionInfo> |
IndexConditionInfo.Builder.getFirstKeyIndexConditionMap()
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
Map<IndexDescriptor,IndexConditionInfo> |
IndexConditionInfo.Builder.getIndexConditionMap()
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
Map<IndexDescriptor,IndexConditionInfo> |
IndexConditionInfo.Builder.getIndexConditionMap(List<IndexDescriptor> indexList)
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
Iterator<IndexDescriptor> |
AbstractIndexCollection.iterator() |
Modifier and Type | Method and Description |
---|---|
boolean |
AbstractIndexCollection.addIndex(IndexDescriptor index) |
boolean |
IndexCollection.addIndex(IndexDescriptor index)
Add a new index to the collection.
|
void |
IndexSelector.addIndex(IndexDescriptor indexDesc,
boolean isCovering,
int numProjectedFields) |
static org.apache.calcite.rel.RelCollation |
IndexPlanUtils.buildCollationCoveringIndexScan(IndexDescriptor indexDesc,
IndexCallContext context)
Build the collation property for index scan
|
static org.apache.calcite.rel.RelCollation |
IndexPlanUtils.buildCollationForExpressions(Map<LogicalExpression,Integer> projectExprs,
IndexDescriptor indexDesc,
IndexCallContext context)
Given index, compute the collations for a list of projected expressions(from Scan's rowType or Project's )
in the context
|
static org.apache.calcite.rel.RelCollation |
IndexPlanUtils.buildCollationNonCoveringIndexScan(IndexDescriptor indexDesc,
org.apache.calcite.rel.type.RelDataType indexScanRowType,
org.apache.calcite.rel.type.RelDataType restrictedScanRowType,
IndexCallContext context) |
static ScanPrel |
IndexPlanUtils.buildCoveringIndexScan(DrillScanRelBase origScan,
IndexGroupScan indexGroupScan,
IndexCallContext indexContext,
IndexDescriptor indexDesc) |
DrillTable |
IndexDiscoverBase.buildDrillTable(IndexDescriptor idxDesc)
Abstract function getDrillTable will be implemented the IndexDiscover within storage plugin(e.g.
|
String |
Statistics.buildUniqueIndexIdentifier(IndexDescriptor idx)
Returns a unique index identifier
|
String |
MapRDBStatistics.buildUniqueIndexIdentifier(IndexDescriptor idx) |
static IndexPlanUtils.ConditionIndexed |
IndexPlanUtils.conditionIndexed(IndexableExprMarker exprMarker,
IndexDescriptor indexDesc)
Check if any of the fields of the index are present in a list of LogicalExpressions supplied
as part of IndexableExprMarker
|
DrillTable |
IndexDiscoverBase.getExternalDrillTable(IndexDescriptor idxDesc)
When there is storageName in IndexDescriptor, get a DrillTable instance based on the
StorageName and other informaiton in idxDesc that helps identifying the table.
|
abstract DrillTable |
IndexDiscoverBase.getNativeDrillTable(IndexDescriptor idxDesc)
When it is native index(index provided by native storage plugin),
the actual IndexDiscover should provide the implementation to get the DrillTable object of index,
Otherwise, we call IndexDiscoverable interface exposed from external storage plugin's SchemaFactory
to get the desired DrillTable.
|
DrillTable |
MapRDBIndexDiscover.getNativeDrillTable(IndexDescriptor idxDescriptor) |
boolean |
IndexConditionInfo.Builder.isConditionPrefix(IndexDescriptor indexDesc,
org.apache.calcite.rex.RexNode initCondition)
Given a RexNode corresponding to the condition expression tree and the index descriptor,
check if one or more columns involved in the condition tree form a prefix of the columns in the
index keys.
|
org.apache.calcite.rex.RexNode |
IndexSelector.DrillIndexProperties.remainderCondition(IndexDescriptor indexDesc,
IndexConditionInfo.Builder builder,
org.apache.calcite.rex.RexNode initCondition) |
boolean |
AbstractIndexCollection.removeIndex(IndexDescriptor index) |
boolean |
IndexCollection.removeIndex(IndexDescriptor index)
Remove an index (identified by table name and index name) from the collection.
|
Modifier and Type | Method and Description |
---|---|
Map<IndexDescriptor,IndexConditionInfo> |
IndexConditionInfo.Builder.getIndexConditionMap(List<IndexDescriptor> indexList)
Get a map of Index=>IndexConditionInfo, each IndexConditionInfo has the separated condition and remainder condition.
|
static IndexConditionInfo.Builder |
IndexConditionInfo.newBuilder(org.apache.calcite.rex.RexNode condition,
Iterable<IndexDescriptor> indexes,
org.apache.calcite.rex.RexBuilder builder,
org.apache.calcite.rel.RelNode scan) |
Constructor and Description |
---|
Builder(org.apache.calcite.rex.RexNode condition,
IndexDescriptor index,
org.apache.calcite.rex.RexBuilder builder,
DrillScanRel scan) |
DrillIndexProperties(IndexDescriptor indexDescriptor,
boolean isCovering,
org.apache.calcite.rex.RexNode otherColumnsRemainderFilter,
org.apache.calcite.rex.RexBuilder rexBuilder,
int numProjectedFields,
double totalRows,
DrillScanRelBase primaryTableScan) |
MapRDBFunctionalIndexInfo(IndexDescriptor indexDesc) |
Constructor and Description |
---|
Builder(org.apache.calcite.rex.RexNode condition,
Iterable<IndexDescriptor> indexes,
org.apache.calcite.rex.RexBuilder builder,
org.apache.calcite.rel.RelNode scan) |
Modifier and Type | Field and Description |
---|---|
protected IndexDescriptor |
CoveringIndexPlanGenerator.indexDesc |
protected IndexDescriptor |
CoveringPlanNoFilterGenerator.indexDesc |
Modifier and Type | Method and Description |
---|---|
org.apache.calcite.rel.RelNode |
IndexIntersectPlanGenerator.buildIntersectPlan(Map.Entry<IndexDescriptor,org.apache.calcite.rex.RexNode> pair,
org.apache.calcite.rel.RelNode right,
boolean generateDistribution) |
Constructor and Description |
---|
NonCoveringIndexPlanGenerator(IndexLogicalPlanCallContext indexContext,
IndexDescriptor indexDesc,
IndexGroupScan indexGroupScan,
org.apache.calcite.rex.RexNode indexCondition,
org.apache.calcite.rex.RexNode remainderCondition,
org.apache.calcite.rex.RexBuilder builder,
PlannerSettings settings) |
Constructor and Description |
---|
IndexIntersectPlanGenerator(IndexLogicalPlanCallContext indexContext,
Map<IndexDescriptor,IndexConditionInfo> indexInfoMap,
org.apache.calcite.rex.RexBuilder builder,
PlannerSettings settings) |
Modifier and Type | Method and Description |
---|---|
DrillTable |
MapRDBFormatMatcher.isReadableIndex(DrillFileSystem fs,
FileSelection selection,
FileSystemPlugin fsPlugin,
String storageEngineName,
String userName,
IndexDescriptor secondaryIndexDesc)
Get an instance of DrillTable for a particular native secondary index
|
Modifier and Type | Method and Description |
---|---|
MapRDBStatisticsPayload |
JsonTableGroupScan.getAverageRowSizeStats(IndexDescriptor index)
Get the estimated average rowsize.
|
MapRDBStatisticsPayload |
JsonTableGroupScan.getFirstKeyEstimatedStats(org.ojai.store.QueryCondition condition,
IndexDescriptor index,
org.apache.calcite.rel.RelNode scanRel)
Get the estimated statistics after applying the
RexNode condition. |
Copyright © 1970 The Apache Software Foundation. All rights reserved.