public abstract class PlanNode extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
PlanNode(Optional<SourceLocation> sourceLocation,
PlanNodeId id,
Optional<PlanNode> statsEquivalentPlanNode) |
| Modifier and Type | Method and Description |
|---|---|
<R,C> R |
accept(PlanVisitor<R,C> visitor,
C context)
A visitor pattern interface to operate on IR.
|
abstract PlanNode |
assignStatsEquivalentPlanNode(Optional<PlanNode> statsEquivalentPlanNode)
Assigns statsEquivalentPlanNode to the plan node
|
LogicalProperties |
computeLogicalProperties(LogicalPropertiesProvider logicalPropertiesProvider)
Logical properties are a function of source properties and the operation performed by the plan node
|
PlanNodeId |
getId() |
abstract List<VariableReferenceExpression> |
getOutputVariables()
The output from the upstream PlanNodes.
|
Optional<SourceLocation> |
getSourceLocation() |
abstract List<PlanNode> |
getSources()
Get the upstream PlanNodes (i.e., children) of the current PlanNode.
|
Optional<PlanNode> |
getStatsEquivalentPlanNode() |
abstract PlanNode |
replaceChildren(List<PlanNode> newChildren)
Alter the upstream PlanNodes of the current PlanNode.
|
protected PlanNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, Optional<PlanNode> statsEquivalentPlanNode)
public PlanNodeId getId()
public Optional<SourceLocation> getSourceLocation()
public abstract List<PlanNode> getSources()
public LogicalProperties computeLogicalProperties(LogicalPropertiesProvider logicalPropertiesProvider)
public abstract List<VariableReferenceExpression> getOutputVariables()
public abstract PlanNode replaceChildren(List<PlanNode> newChildren)
public <R,C> R accept(PlanVisitor<R,C> visitor, C context)
Copyright © 2012–2022. All rights reserved.