Package io.trino.sql.planner.plan
Class JoinNode
- java.lang.Object
-
- io.trino.sql.planner.plan.PlanNode
-
- io.trino.sql.planner.plan.JoinNode
-
@Immutable public class JoinNode extends PlanNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJoinNode.DistributionTypestatic classJoinNode.EquiJoinClausestatic classJoinNode.Type
-
Constructor Summary
Constructors Constructor Description JoinNode(PlanNodeId id, JoinNode.Type type, PlanNode left, PlanNode right, List<JoinNode.EquiJoinClause> criteria, List<Symbol> leftOutputSymbols, List<Symbol> rightOutputSymbols, boolean maySkipOutputDuplicates, Optional<Expression> filter, Optional<Symbol> leftHashSymbol, Optional<Symbol> rightHashSymbol, Optional<JoinNode.DistributionType> distributionType, Optional<Boolean> spillable, Map<DynamicFilterId,Symbol> dynamicFilters, Optional<PlanNodeStatsAndCostSummary> reorderJoinStatsAndCost)
-
Method Summary
-
-
-
Constructor Detail
-
JoinNode
public JoinNode(PlanNodeId id, JoinNode.Type type, PlanNode left, PlanNode right, List<JoinNode.EquiJoinClause> criteria, List<Symbol> leftOutputSymbols, List<Symbol> rightOutputSymbols, boolean maySkipOutputDuplicates, Optional<Expression> filter, Optional<Symbol> leftHashSymbol, Optional<Symbol> rightHashSymbol, Optional<JoinNode.DistributionType> distributionType, Optional<Boolean> spillable, Map<DynamicFilterId,Symbol> dynamicFilters, Optional<PlanNodeStatsAndCostSummary> reorderJoinStatsAndCost)
-
-
Method Detail
-
flipChildren
public JoinNode flipChildren()
-
getType
public JoinNode.Type getType()
-
getLeft
public PlanNode getLeft()
-
getRight
public PlanNode getRight()
-
getCriteria
public List<JoinNode.EquiJoinClause> getCriteria()
-
getFilter
public Optional<Expression> getFilter()
-
getSources
public List<PlanNode> getSources()
- Specified by:
getSourcesin classPlanNode
-
getOutputSymbols
public List<Symbol> getOutputSymbols()
- Specified by:
getOutputSymbolsin classPlanNode
-
getDistributionType
public Optional<JoinNode.DistributionType> getDistributionType()
-
isMaySkipOutputDuplicates
public boolean isMaySkipOutputDuplicates()
-
getDynamicFilters
public Map<DynamicFilterId,Symbol> getDynamicFilters()
-
getReorderJoinStatsAndCost
public Optional<PlanNodeStatsAndCostSummary> getReorderJoinStatsAndCost()
-
accept
public <R,C> R accept(PlanVisitor<R,C> visitor, C context)
-
replaceChildren
public PlanNode replaceChildren(List<PlanNode> newChildren)
- Specified by:
replaceChildrenin classPlanNode
-
withDistributionType
public JoinNode withDistributionType(JoinNode.DistributionType distributionType)
-
withSpillable
public JoinNode withSpillable(boolean spillable)
-
withMaySkipOutputDuplicates
public JoinNode withMaySkipOutputDuplicates()
-
withReorderJoinStatsAndCost
public JoinNode withReorderJoinStatsAndCost(PlanNodeStatsAndCostSummary statsAndCost)
-
isCrossJoin
public boolean isCrossJoin()
-
-