Class AbstractPlannerGraph<N extends AbstractPlannerGraph.AbstractNode,E extends AbstractPlannerGraph.AbstractEdge>
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.explain.AbstractPlannerGraph<N,E>
-
- Type Parameters:
N
- node typeE
- edge type
- Direct Known Subclasses:
PlannerGraph
public class AbstractPlannerGraph<N extends AbstractPlannerGraph.AbstractNode,E extends AbstractPlannerGraph.AbstractEdge> extends Object
The planner graph class. Objects of this class are computed byPlannerGraphProperty
, i.e., they get computed by walking aRelationalExpression
DAG. Once computed, the property is immutable.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractPlannerGraph.AbstractEdge
Edge class.static class
AbstractPlannerGraph.AbstractNode
Node class functioning as parent for all nodes in the network.static class
AbstractPlannerGraph.PlannerGraphBuilder<N extends AbstractPlannerGraph.AbstractNode,E extends AbstractPlannerGraph.AbstractEdge,B extends AbstractPlannerGraph<N,E>>
Builder class for planner graph.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractPlannerGraph(N root, com.google.common.graph.Network<N,E> network)
Protected constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.common.graph.ImmutableNetwork<N,E>
getNetwork()
N
getNodeForIdentity(Object identity)
N
getRoot()
-
-
-
Constructor Detail
-
AbstractPlannerGraph
protected AbstractPlannerGraph(@Nonnull N root, @Nonnull com.google.common.graph.Network<N,E> network)
Protected constructor. Objects of this class are built by a builder.- Parameters:
root
- root of this graphnetwork
- a network describing the query execution plan rooted atroot
-
-