public class EligibleIndex
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
boolean |
canBeUsedForSort
Indicates that the index can be used for a requested sort.
|
boolean |
conditionCovered
Indicates that original query condition is covered by this index; the
prunedCondition is the same as the original query condition.
|
static java.util.Comparator<EligibleIndex> |
COST_COMPARATOR
Comparator that can be used to compare EligibleIndexes by cost.
|
double |
cpuCost |
com.mapr.db.index.IndexDesc |
indexDesc
The index descriptor for the index.
|
com.mapr.db.scan.ScanStats |
indexStats
The scan stats for this index for the prunedCondition.
|
double |
ioCost |
boolean |
isCovering
Whether or not the index is covering.
|
int |
nIncludedFields |
int |
nIndexedFields |
org.ojai.store.QueryCondition |
prunedCondition
The condition that results if all of the conditions on fields that are
not present in the index are removed.
|
double |
rowSelectivity
Approximate selectivity.
|
int |
scanFields
The fields of the index that are to be scanned.
|
double |
simpleCost
We estimate a simple cost to using this index.
|
double |
sortCpuCost |
java.util.List<org.ojai.FieldPath> |
sortLimitExtras
Immutable list of fields that are required for a client-side sort that are not
included in the projection.
|
| Constructor and Description |
|---|
EligibleIndex(com.mapr.db.index.IndexDesc indexDesc,
int scanFields,
boolean isCovering,
boolean needsSort,
boolean canBeUsedForSort,
java.util.List<org.ojai.FieldPath> sortLimitExtras,
OjaiConnection ojaiConnection,
OjaiQuery ojaiQuery,
com.mapr.db.scan.ScanStats tableStats,
SharedTable sharedPrimaryTable)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
toString() |
public final com.mapr.db.index.IndexDesc indexDesc
public final int scanFields
public final boolean isCovering
public final boolean canBeUsedForSort
public final java.util.List<org.ojai.FieldPath> sortLimitExtras
public final org.ojai.store.QueryCondition prunedCondition
public final boolean conditionCovered
public final com.mapr.db.scan.ScanStats indexStats
public final double rowSelectivity
public final double ioCost
public final double cpuCost
public final double sortCpuCost
public final double simpleCost
public final int nIndexedFields
public final int nIncludedFields
public static final java.util.Comparator<EligibleIndex> COST_COMPARATOR
public EligibleIndex(com.mapr.db.index.IndexDesc indexDesc,
int scanFields,
boolean isCovering,
boolean needsSort,
boolean canBeUsedForSort,
java.util.List<org.ojai.FieldPath> sortLimitExtras,
OjaiConnection ojaiConnection,
OjaiQuery ojaiQuery,
com.mapr.db.scan.ScanStats tableStats,
SharedTable sharedPrimaryTable)
throws java.io.IOException
indexDesc - the index descriptorscanFields - how many of the index fields are used for the condition and/or sortisCovering - the index covers the queryneedsSort - the query requires a sortcanBeUsedForSort - this index can be used for the sortsortLimitExtras - the list of additional fields a sort-limit needs for a client-side sortojaiConnection - the ojai connectionojaiQuery - the querytableStats - the table stats for the primary tablesharedPrimaryTable - the shared reference to the index this is forjava.io.IOException