Interface ExpansionVisitor<S extends KeyExpressionVisitor.State>
-
- Type Parameters:
S
- the type of the state object whose actual type depends on the implementation of the concrete visitor
- All Superinterfaces:
KeyExpressionVisitor<S,GraphExpansion>
- All Known Implementing Classes:
PrimaryAccessExpansionVisitor
,ValueIndexExpansionVisitor
,ValueIndexLikeExpansionVisitor
public interface ExpansionVisitor<S extends KeyExpressionVisitor.State> extends KeyExpressionVisitor<S,GraphExpansion>
A sub interface ofKeyExpressionVisitor
that fixes the return type to be aGraphExpansion
and adds an API to cause the expansion of a metadata-based data access structure to a data flow graph that can then be used for matching.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.query.plan.temp.KeyExpressionVisitor
KeyExpressionVisitor.Result, KeyExpressionVisitor.State
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description MatchCandidate
expand(Quantifier.ForEach baseQuantifier, KeyExpression primaryKey, boolean isReverse)
Method that expands a data structure into a data flow graph-
Methods inherited from interface com.apple.foundationdb.record.query.plan.temp.KeyExpressionVisitor
getCurrentState, visitExpression, visitExpression, visitExpression, visitExpression, visitExpression, visitExpression, visitExpression
-
-
-
-
Method Detail
-
expand
@Nonnull MatchCandidate expand(@Nonnull Quantifier.ForEach baseQuantifier, @Nullable KeyExpression primaryKey, boolean isReverse)
Method that expands a data structure into a data flow graph- Parameters:
baseQuantifier
- a quantifier representing the base data accessprimaryKey
- the primary key of the data object the caller wants to accessisReverse
- an indicator whether the result set is expected to be returned in reverse order- Returns:
- a new
MatchCandidate
that can be used for matching.
-
-