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 |
---|---|
boolean |
equals(Object o) |
static IndexEntrySource |
fromCommonPrimaryKey(Collection<String> recordTypes,
KeyExpression commonPrimaryKey) |
static IndexEntrySource |
fromIndex(Collection<RecordType> recordTypes,
Index index) |
static IndexEntrySource |
fromIndexWithTypeStrings(Collection<String> recordTypes,
Index index) |
ViewExpressionComparisons |
getEmptyComparisons() |
String |
getIndexName() |
int |
hashCode() |
boolean |
isIndexScan() |
String |
toString() |
@Nonnull public ViewExpressionComparisons getEmptyComparisons()
public boolean isIndexScan()
@Nonnull public static IndexEntrySource fromIndex(@Nonnull Collection<RecordType> recordTypes, @Nonnull Index index)
@Nonnull public static IndexEntrySource fromIndexWithTypeStrings(@Nonnull Collection<String> recordTypes, @Nonnull Index index)
@Nonnull public static IndexEntrySource fromCommonPrimaryKey(@Nonnull Collection<String> recordTypes, @Nonnull KeyExpression commonPrimaryKey)