Package io.prestosql.sql.planner.plan
Class CorrelatedJoinNode
- java.lang.Object
-
- io.prestosql.sql.planner.plan.PlanNode
-
- io.prestosql.sql.planner.plan.CorrelatedJoinNode
-
@Immutable public class CorrelatedJoinNode extends PlanNode
For every row frominput
asubquery
relation is calculated. Then input row is cross joined with subquery relation and returned as a result.INNER - does not return any row for input row when subquery relation is empty LEFT - does return input completed with NULL values when subquery relation is empty
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CorrelatedJoinNode.Type
-
Constructor Summary
Constructors Constructor Description CorrelatedJoinNode(PlanNodeId id, PlanNode input, PlanNode subquery, List<Symbol> correlation, CorrelatedJoinNode.Type type, Expression filter, Node originSubquery)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,C>
Raccept(PlanVisitor<R,C> visitor, C context)
List<Symbol>
getCorrelation()
Expression
getFilter()
PlanNode
getInput()
Node
getOriginSubquery()
List<Symbol>
getOutputSymbols()
List<PlanNode>
getSources()
PlanNode
getSubquery()
CorrelatedJoinNode.Type
getType()
PlanNode
replaceChildren(List<PlanNode> newChildren)
-
-
-
Constructor Detail
-
CorrelatedJoinNode
public CorrelatedJoinNode(PlanNodeId id, PlanNode input, PlanNode subquery, List<Symbol> correlation, CorrelatedJoinNode.Type type, Expression filter, Node originSubquery)
-
-
Method Detail
-
getInput
public PlanNode getInput()
-
getSubquery
public PlanNode getSubquery()
-
getType
public CorrelatedJoinNode.Type getType()
-
getFilter
public Expression getFilter()
-
getOriginSubquery
public Node getOriginSubquery()
-
getSources
public List<PlanNode> getSources()
- Specified by:
getSources
in classPlanNode
-
getOutputSymbols
public List<Symbol> getOutputSymbols()
- Specified by:
getOutputSymbols
in classPlanNode
-
replaceChildren
public PlanNode replaceChildren(List<PlanNode> newChildren)
- Specified by:
replaceChildren
in classPlanNode
-
accept
public <R,C> R accept(PlanVisitor<R,C> visitor, C context)
-
-