Interface RelationalExpressionWithChildren
-
- All Superinterfaces:
Bindable
,Correlated<RelationalExpression>
,RelationalExpression
- All Known Subinterfaces:
RecordQueryPlanWithChild
,RecordQueryPlanWithChildren
,TypeFilterExpression
- All Known Implementing Classes:
LogicalDistinctExpression
,LogicalFilterExpression
,LogicalSortExpression
,LogicalTypeFilterExpression
,LogicalUnorderedUnionExpression
,RecordQueryFetchFromPartialRecordPlan
,RecordQueryFilterPlan
,RecordQueryInJoinPlan
,RecordQueryInParameterJoinPlan
,RecordQueryIntersectionPlan
,RecordQueryInValuesJoinPlan
,RecordQueryPredicateFilterPlan
,RecordQueryScoreForRankPlan
,RecordQueryTypeFilterPlan
,RecordQueryUnionPlan
,RecordQueryUnionPlanBase
,RecordQueryUnorderedDistinctPlan
,RecordQueryUnorderedPrimaryKeyDistinctPlan
,RecordQueryUnorderedUnionPlan
@API(EXPERIMENTAL) public interface RelationalExpressionWithChildren extends RelationalExpression
A parent interface forRelationalExpression
s that have relational children (as opposed to non-relation children, such asQueryComponent
s).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Set<CorrelationIdentifier>
getCorrelatedTo()
Returns the set ofCorrelationIdentifier
s this entity is correlated to.Set<CorrelationIdentifier>
getCorrelatedToWithoutChildren()
int
getRelationalChildCount()
default RelationalExpressionWithChildren
rebase(AliasMap translationMap)
Rebases this and all other objects this objects is composed of using a given translation map.RelationalExpressionWithChildren
rebaseWithRebasedQuantifiers(AliasMap translationMap, List<Quantifier> rebasedQuantifiers)
-
Methods inherited from interface com.apple.foundationdb.record.query.plan.temp.RelationalExpression
acceptPropertyVisitor, bindTo, canCorrelate, equalsWithoutChildren, getQuantifiers, hashCodeWithoutChildren, semanticEquals, semanticEquals, semanticHashCode, show
-
-
-
-
Method Detail
-
getRelationalChildCount
int getRelationalChildCount()
-
getCorrelatedTo
@Nonnull default Set<CorrelationIdentifier> getCorrelatedTo()
Description copied from interface:Correlated
Returns the set ofCorrelationIdentifier
s this entity is correlated to. This means that without a process that binds these correlations to values, theRelationalExpression
(or others that implement this interface) cannot even in principle produce a meaningful result. As often times entities that implement this interface use composition and effectively describe trees or DAGs, this method should be the set union of theCorrelationIdentifier
s this object is correlated to as well as all children, constituent parts, etc.- Specified by:
getCorrelatedTo
in interfaceCorrelated<RelationalExpression>
- Returns:
- the set of
CorrelationIdentifier
s this entity is correlated to
-
getCorrelatedToWithoutChildren
@Nonnull Set<CorrelationIdentifier> getCorrelatedToWithoutChildren()
-
rebase
@Nonnull default RelationalExpressionWithChildren rebase(@Nonnull AliasMap translationMap)
Description copied from interface:Correlated
Rebases this and all other objects this objects is composed of using a given translation map.- Specified by:
rebase
in interfaceCorrelated<RelationalExpression>
- Parameters:
translationMap
- a map defining a translation fromCorrelationIdentifier
sids
toCorrelationIdentifier
sids'
. After the rebase, every correlation to anid
containedids
that is contained or referred to directly or indirectly bythis
must have been transformed to use the mapped counterpart ofid
id'
inids'
. IDs not contained in the translation map must remain unmodified by the rebase operation.- Returns:
- a new entity that has been rebased
-
rebaseWithRebasedQuantifiers
@Nonnull RelationalExpressionWithChildren rebaseWithRebasedQuantifiers(@Nonnull AliasMap translationMap, @Nonnull List<Quantifier> rebasedQuantifiers)
-
-