Class PlannerGraph
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.explain.AbstractPlannerGraph<PlannerGraph.Node,PlannerGraph.Edge>
-
- com.apple.foundationdb.record.query.plan.temp.explain.PlannerGraph
-
public class PlannerGraph extends AbstractPlannerGraph<PlannerGraph.Node,PlannerGraph.Edge>
Lightweight class to save some boilerplate.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PlannerGraph.DataNodeWithInfo
Node class for data objects.static class
PlannerGraph.Edge
Edge class.static class
PlannerGraph.ExistentialQuantifierEdge
Edge class for existential quantifiers.static class
PlannerGraph.ExpressionRefHeadNode
Node class for GroupExpressionRefs -- head.static class
PlannerGraph.ExpressionRefMemberNode
Node class for GroupExpressionRefs - member.static class
PlannerGraph.ForEachQuantifierEdge
Edge class for for-each quantifiers.static class
PlannerGraph.GroupExpressionRefEdge
Edge class for GroupExpressionRefs.static class
PlannerGraph.GroupExpressionRefInternalEdge
Edge class for GroupExpressionRefs.static class
PlannerGraph.InternalPlannerGraphBuilder
Specific builder for explain planner graph building.static class
PlannerGraph.LogicalOperatorNode
Node class for logical operators.static class
PlannerGraph.LogicalOperatorNodeWithInfo
Node class for logical operators that also have aNodeInfo
.static class
PlannerGraph.Node
Node class functioning as parent for any nodes in the network.static class
PlannerGraph.NodeWithInfo
Node class that additionally captures a reference to aNodeInfo
.static class
PlannerGraph.OperatorNodeWithInfo
Node class for actual plan operators.static class
PlannerGraph.PartialMatchEdge
Edge class for matches that connect a query reference to a match candidate reference.static class
PlannerGraph.PhysicalQuantifierEdge
Edge class for for-each quantifiers.static interface
PlannerGraph.WithExpression
Interface to be implemented by all node classes that represent anRelationalExpression
.static interface
PlannerGraph.WithInfoId
Interface to be implemented by all node classes that need to externalize an info id for exporting global information such as names and descriptions.-
Nested classes/interfaces inherited from class com.apple.foundationdb.record.query.plan.temp.explain.AbstractPlannerGraph
AbstractPlannerGraph.AbstractEdge, AbstractPlannerGraph.AbstractNode, AbstractPlannerGraph.PlannerGraphBuilder<N extends AbstractPlannerGraph.AbstractNode,E extends AbstractPlannerGraph.AbstractEdge,B extends AbstractPlannerGraph<N,E>>
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PlannerGraph(PlannerGraph.Node root, com.google.common.graph.Network<PlannerGraph.Node,PlannerGraph.Edge> network)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PlannerGraph.InternalPlannerGraphBuilder
builder(PlannerGraph.Node root)
PlannerGraph.InternalPlannerGraphBuilder
derived()
static PlannerGraph
fromNodeAndChildGraphs(PlannerGraph.Node node, List<? extends PlannerGraph> childGraphs)
-
Methods inherited from class com.apple.foundationdb.record.query.plan.temp.explain.AbstractPlannerGraph
getNetwork, getNodeForIdentity, getRoot
-
-
-
-
Constructor Detail
-
PlannerGraph
protected PlannerGraph(PlannerGraph.Node root, com.google.common.graph.Network<PlannerGraph.Node,PlannerGraph.Edge> network)
-
-
Method Detail
-
fromNodeAndChildGraphs
public static PlannerGraph fromNodeAndChildGraphs(@Nonnull PlannerGraph.Node node, @Nonnull List<? extends PlannerGraph> childGraphs)
-
builder
public static PlannerGraph.InternalPlannerGraphBuilder builder(PlannerGraph.Node root)
-
derived
public PlannerGraph.InternalPlannerGraphBuilder derived()
-
-