Interface KeyExpressionWithValue
-
- All Superinterfaces:
KeyExpression
,PlanHashable
,QueryHashable
- All Known Subinterfaces:
QueryableKeyExpression
- All Known Implementing Classes:
CollateFunctionKeyExpression
,CollateFunctionKeyExpressionFactoryJRE.CollateFunctionKeyExpressionJRE
,LiteralKeyExpression
,RecordTypeKeyExpression
,VersionKeyExpression
@API(EXPERIMENTAL) public interface KeyExpressionWithValue extends KeyExpression
A key expression that can be represented as a singleValue
because it meets both of the following criteria:- It's a single value rather than a complex tuple.
- It does not produce multiple values because of fan-out.
KeyWithValueExpression
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.metadata.expressions.KeyExpression
KeyExpression.DeserializationException, KeyExpression.FanType, KeyExpression.InvalidExpressionException, KeyExpression.InvalidResultException, KeyExpression.NoSuchArgumentException, KeyExpression.SerializationException
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.PlanHashable
PlanHashable.PlanHashKind
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.QueryHashable
QueryHashable.QueryHashKind
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <S extends KeyExpressionVisitor.State>
GraphExpansionexpand(ExpansionVisitor<S> visitor)
Expand this key expression into a data flow graph.Value
toValue(CorrelationIdentifier baseAlias, List<String> fieldNamePrefix)
-
Methods inherited from interface com.apple.foundationdb.record.metadata.expressions.KeyExpression
createsDuplicates, evaluate, evaluateMessage, evaluateSingleton, getColumnSize, getSubKey, hasLosslessNormalization, hasProperInterfaces, hasRecordTypeKey, isPrefixKey, normalizeKeyForPositions, toKeyExpression, toProto, validate, versionColumns
-
Methods inherited from interface com.apple.foundationdb.record.PlanHashable
planHash, planHash
-
Methods inherited from interface com.apple.foundationdb.record.QueryHashable
queryHash
-
-
-
-
Method Detail
-
toValue
@Nonnull Value toValue(@Nonnull CorrelationIdentifier baseAlias, @Nonnull List<String> fieldNamePrefix)
-
expand
@Nonnull default <S extends KeyExpressionVisitor.State> GraphExpansion expand(@Nonnull ExpansionVisitor<S> visitor)
Description copied from interface:KeyExpression
Expand this key expression into a data flow graph. The returned graph represents an adequate representation of the key expression as composition of relational expressions and operators (RelationalExpression
s). Note that implementors should defer to the visitation methods in the supplied visitor rather than encoding actual logic in an overriding method.- Specified by:
expand
in interfaceKeyExpression
- Type Parameters:
S
- a type that reflects the state thatvisitor
uses- Parameters:
visitor
- aExpansionVisitor
that is created by the caller from a data structure that reflects the specific semantics of the key expression. Normally this visitor is directly created based on an index.- Returns:
- a new
GraphExpansion
representing the query graph equivalent of this key expression using the supplied visitor - See Also:
QueryComponent.expand(com.apple.foundationdb.record.query.plan.temp.CorrelationIdentifier)
-
-