public class IndexEntrySource extends Object
IndexEntrySource
is an
abstraction of the disparate sources of index entries. Presently, an IndexEntrySource
is either an index
or the range of primary keys, but in general there could be other index entry sources.
This abstraction is quite useful for the various rules in com.apple.foundationdb.record.query.plan.temp.rules
since most rules can consider different types of scans that produces records with a uniform interface.
Modifier and Type | Method and Description |
---|---|
IndexEntrySource |
asNestedWith(NestedContext nestedContext) |
IndexEntrySource |
asUnnestedWith(NestedContext nestedContext) |
boolean |
equals(Object o) |
static IndexEntrySource |
fromCommonPrimaryKey(KeyExpression commonPrimaryKey) |
static IndexEntrySource |
fromIndex(Index index) |
KeyExpressionComparisons |
getEmptyComparisons() |
String |
getIndexName() |
int |
hashCode() |
boolean |
isIndexScan() |
String |
toString() |
@Nonnull public KeyExpressionComparisons getEmptyComparisons()
public boolean isIndexScan()
@Nullable public IndexEntrySource asNestedWith(@Nonnull NestedContext nestedContext)
@Nonnull public IndexEntrySource asUnnestedWith(@Nonnull NestedContext nestedContext)
@Nonnull public static IndexEntrySource fromIndex(@Nonnull Index index)
@Nonnull public static IndexEntrySource fromCommonPrimaryKey(@Nonnull KeyExpression commonPrimaryKey)