Class RecordQueryUnorderedUnionPlan
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.plans.RecordQueryUnionPlanBase
-
- com.apple.foundationdb.record.query.plan.plans.RecordQueryUnorderedUnionPlan
-
- All Implemented Interfaces:
PlanHashable
,QueryPlan<FDBQueriedRecord<Message>>
,RecordQueryPlan
,RecordQueryPlanWithChildren
,Bindable
,Correlated<RelationalExpression>
,PlannerGraphRewritable
,RelationalExpressionWithChildren
,RelationalExpression
@API(EXPERIMENTAL) public class RecordQueryUnorderedUnionPlan extends RecordQueryUnionPlanBase
A query plan that returns results from two-or-more cursors as they as ready. Unlike theRecordQueryUnionPlan
, there are no ordering restrictions placed on the child plans (i.e., the children are free to return results in any order). However, this plan also makes no effort to remove duplicates from its children, and it also makes no guarantees as to what order it will return results.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.query.plan.temp.RelationalExpression
RelationalExpression.CombineFunction<R,S>, RelationalExpression.CombinePredicate
-
-
Field Summary
-
Fields inherited from class com.apple.foundationdb.record.query.plan.plans.RecordQueryUnionPlanBase
LOGGER, UNION
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RecordQueryUnorderedUnionPlan
from(RecordQueryPlan left, RecordQueryPlan right)
static RecordQueryUnorderedUnionPlan
from(List<RecordQueryPlan> children)
Set<CorrelationIdentifier>
getCorrelatedToWithoutChildren()
RecordQueryUnorderedUnionPlan
rebaseWithRebasedQuantifiers(AliasMap translationMap, List<Quantifier> rebasedQuantifiers)
PlannerGraph
rewritePlannerGraph(List<? extends PlannerGraph> childGraphs)
Method to rewrite the planner graph.String
toString()
RecordQueryUnorderedUnionPlan
withChildren(List<RecordQueryPlan> newChildren)
-
Methods inherited from class com.apple.foundationdb.record.query.plan.plans.RecordQueryUnionPlanBase
equals, equalsWithoutChildren, execute, getAvailableFields, getChildren, getComplexity, getQuantifiers, getRelationalChildCount, hashCode, hashCodeWithoutChildren, isReverse, logPlanStructure, planHash
-
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.plans.QueryPlan
execute, execute
-
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlan
accept, execute, execute, execute, getQueryPlanChildren, structuralEquals, structuralEquals, structuralHashCode
-
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithChildren
getUsedIndexes, hasFullRecordScan, hasIndexScan, hasLoadBykeys, hasRecordScan
-
Methods inherited from interface com.apple.foundationdb.record.query.plan.temp.RelationalExpression
acceptPropertyVisitor, bindIdentities, bindTo, canCorrelate, enumerateUnboundCorrelatedTo, findMatches, match, semanticEquals, semanticEquals, semanticHashCode, show
-
Methods inherited from interface com.apple.foundationdb.record.query.plan.temp.expressions.RelationalExpressionWithChildren
getCorrelatedTo, rebase
-
-
-
-
Method Detail
-
toString
@Nonnull public String toString()
- Overrides:
toString
in classRecordQueryUnionPlanBase
-
from
@Nonnull public static RecordQueryUnorderedUnionPlan from(@Nonnull List<RecordQueryPlan> children)
-
from
@Nonnull public static RecordQueryUnorderedUnionPlan from(@Nonnull RecordQueryPlan left, @Nonnull RecordQueryPlan right)
-
getCorrelatedToWithoutChildren
@Nonnull public Set<CorrelationIdentifier> getCorrelatedToWithoutChildren()
-
rebaseWithRebasedQuantifiers
@Nonnull public RecordQueryUnorderedUnionPlan rebaseWithRebasedQuantifiers(@Nonnull AliasMap translationMap, @Nonnull List<Quantifier> rebasedQuantifiers)
-
withChildren
@Nonnull public RecordQueryUnorderedUnionPlan withChildren(@Nonnull List<RecordQueryPlan> newChildren)
- Specified by:
withChildren
in classRecordQueryUnionPlanBase
-
rewritePlannerGraph
@Nonnull public PlannerGraph rewritePlannerGraph(@Nonnull List<? extends PlannerGraph> childGraphs)
Description copied from interface:PlannerGraphRewritable
Method to rewrite the planner graph.- Parameters:
childGraphs
- planner graphs of children expression that already have been computed- Returns:
- a new planner graph that can combine the
childGraph
s in a meaningful way. Note that there is no obligation to use thechildGraph
s at all, this method can create a new independent planner graph completely from scratch.
-
-