Class IndexEntrySourceScanExpression
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.expressions.IndexEntrySourceScanExpression
-
- All Implemented Interfaces:
Bindable
,RelationalExpression
public class IndexEntrySourceScanExpression extends Object implements RelationalExpression
A logical version ofRecordQueryIndexPlan
that represents a partially-implemented index scan. The primary difference between the two is that aRecordQueryIndexPlan
requires a fully formedScanComparisons
, which does not track which comparisons belong to which parts of the index's key expression. In contrast, this logical index scan has aViewExpressionComparisons
which explicitly tracks that information. Except for the final "implementation" rules, a planner rule should generally prefer to produce and consumeIndexEntrySourceScanExpression
s so that important information about the index key expression is retained.- See Also:
which converts this to a
-
-
Constructor Summary
Constructors Constructor Description IndexEntrySourceScanExpression(IndexEntrySource indexEntrySource, IndexScanType scanType, ViewExpressionComparisons comparisons, boolean reverse)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
boolean
equalsWithoutChildren(RelationalExpression otherExpression)
ViewExpressionComparisons
getComparisons()
IndexEntrySource
getIndexEntrySource()
String
getIndexName()
List<? extends Quantifier>
getQuantifiers()
Return an iterator of references to the children of this planner expression.IndexScanType
getScanType()
int
hashCode()
boolean
isReverse()
String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.apple.foundationdb.record.query.plan.temp.RelationalExpression
acceptPropertyVisitor, bindTo, show
-
-
-
-
Constructor Detail
-
IndexEntrySourceScanExpression
public IndexEntrySourceScanExpression(@Nonnull IndexEntrySource indexEntrySource, @Nonnull IndexScanType scanType, @Nonnull ViewExpressionComparisons comparisons, boolean reverse)
-
-
Method Detail
-
getQuantifiers
@Nonnull public List<? extends Quantifier> getQuantifiers()
Description copied from interface:RelationalExpression
Return an iterator of references to the children of this planner expression. The iterators returned by different calls are guaranteed to be independent (i.e., advancing one will not advance another). However, they might point to the same object, as whenCollections.emptyIterator()
is returned. The returned iterator should be treated as an immutable object and may throw an exception ifIterator.remove()
is called. The iterator must return its elements in a consistent order.- Specified by:
getQuantifiers
in interfaceRelationalExpression
- Returns:
- an iterator of references to the children of this planner expression
-
getIndexEntrySource
@Nonnull public IndexEntrySource getIndexEntrySource()
-
getScanType
@Nonnull public IndexScanType getScanType()
-
getComparisons
@Nonnull public ViewExpressionComparisons getComparisons()
-
isReverse
public boolean isReverse()
-
equalsWithoutChildren
public boolean equalsWithoutChildren(@Nonnull RelationalExpression otherExpression)
- Specified by:
equalsWithoutChildren
in interfaceRelationalExpression
-
-