Uses of Class
io.trino.sql.planner.plan.CorrelatedJoinNode
Packages that use CorrelatedJoinNode
-
Uses of CorrelatedJoinNode in io.trino.sql.planner.iterative.rule
Subclasses with type arguments of type CorrelatedJoinNode in io.trino.sql.planner.iterative.ruleModifier and TypeClassDescriptionclassThis rule restricts the outputs of CorrelatedJoinNode's input and subquery based on which CorrelatedJoinNode's output symbols are referenced.Classes in io.trino.sql.planner.iterative.rule that implement interfaces with type arguments of type CorrelatedJoinNodeModifier and TypeClassDescriptionclassThis rule finds correlated UnnestNode in CorrelatedJoinNode's subquery and folds them into UnnestNode representing LEFT JOIN UNNEST.classThis rule finds correlated UnnestNode in CorrelatedJoinNode's subquery and folds them into UnnestNode representing LEFT JOIN UNNEST.classThis rule decorrelates plans with correlated UnnestNode and optional EnforceSingleRowNode, optional LimitNode, optional TopNNode and optional projections in the subquery.classThis rule updates CorrelatedJoinNode's correlation list.classclassThis rule decorrelates a correlated subquery of LEFT correlated join with distinct operator (grouped aggregation with no aggregation assignments) It is similar to TransformCorrelatedDistinctAggregationWithProjection rule, but does not support projection over aggregation in the subqueryclassThis rule decorrelates a correlated subquery of LEFT correlated join with distinct operator (grouped aggregation with no aggregation assignments)classThis rule decorrelates a correlated subquery with: - single global aggregation, or - global aggregation over distinct operator (grouped aggregation with no aggregation assignments), in case when the distinct operator cannot be de-correlated by PlanNodeDecorrelator It is similar to TransformCorrelatedGlobalAggregationWithProjection rule, but does not support projection over aggregation in the subqueryclassThis rule decorrelates a correlated subquery of LEFT or INNER correlated join with: - single global aggregation, or - global aggregation over distinct operator (grouped aggregation with no aggregation assignments), in case when the distinct operator cannot be de-correlated by PlanNodeDecorrelatorclassThis rule decorrelates a correlated subquery of INNER correlated join with: - single grouped aggregation, or - grouped aggregation over distinct operator (grouped aggregation with no aggregation assignments), in case when the distinct operator cannot be de-correlated by PlanNodeDecorrelator It is similar to TransformCorrelatedGroupedAggregationWithProjection rule, but does not support projection over aggregation in the subqueryclassThis rule decorrelates a correlated subquery of INNER correlated join with: - single grouped aggregation, or - grouped aggregation over distinct operator (grouped aggregation with no aggregation assignments), in case when the distinct operator cannot be de-correlated by PlanNodeDecorrelatorclassTries to decorrelate subquery and rewrite it using normal join.classScalar filter scan query is something like:classThis optimizer can rewrite correlated single row subquery to projection in a way described here: From:classMethods in io.trino.sql.planner.iterative.rule that return types with arguments of type CorrelatedJoinNodeModifier and TypeMethodDescriptionDecorrelateInnerUnnestWithGlobalAggregation.getPattern()DecorrelateLeftUnnestWithGlobalAggregation.getPattern()DecorrelateUnnest.getPattern()PruneCorrelatedJoinCorrelation.getPattern()RemoveUnreferencedScalarSubqueries.getPattern()TransformCorrelatedDistinctAggregationWithoutProjection.getPattern()TransformCorrelatedDistinctAggregationWithProjection.getPattern()TransformCorrelatedGlobalAggregationWithoutProjection.getPattern()TransformCorrelatedGlobalAggregationWithProjection.getPattern()TransformCorrelatedGroupedAggregationWithoutProjection.getPattern()TransformCorrelatedGroupedAggregationWithProjection.getPattern()TransformCorrelatedJoinToJoin.getPattern()TransformCorrelatedScalarSubquery.getPattern()TransformCorrelatedSingleRowSubqueryToProject.getPattern()TransformUncorrelatedSubqueryToJoin.getPattern()Methods in io.trino.sql.planner.iterative.rule with parameters of type CorrelatedJoinNodeModifier and TypeMethodDescriptionDecorrelateInnerUnnestWithGlobalAggregation.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) DecorrelateLeftUnnestWithGlobalAggregation.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) DecorrelateUnnest.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) PruneCorrelatedJoinCorrelation.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) RemoveUnreferencedScalarSubqueries.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedDistinctAggregationWithoutProjection.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedDistinctAggregationWithProjection.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedGlobalAggregationWithoutProjection.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedGlobalAggregationWithProjection.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedGroupedAggregationWithoutProjection.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedGroupedAggregationWithProjection.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedJoinToJoin.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedScalarSubquery.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) TransformCorrelatedSingleRowSubqueryToProject.apply(CorrelatedJoinNode parent, Captures captures, Rule.Context context) TransformUncorrelatedSubqueryToJoin.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) PruneCorrelatedJoinColumns.pushDownProjectOff(Rule.Context context, CorrelatedJoinNode correlatedJoinNode, Set<Symbol> referencedOutputs) -
Uses of CorrelatedJoinNode in io.trino.sql.planner.plan
Methods in io.trino.sql.planner.plan that return types with arguments of type CorrelatedJoinNodeModifier and TypeMethodDescriptionstatic Pattern<CorrelatedJoinNode> Patterns.correlatedJoin()static Property<CorrelatedJoinNode, Lookup, List<Symbol>> Patterns.CorrelatedJoin.correlation()static Property<CorrelatedJoinNode, Lookup, Expression> Patterns.CorrelatedJoin.filter()static Property<CorrelatedJoinNode, Lookup, PlanNode> Patterns.CorrelatedJoin.subquery()static Property<CorrelatedJoinNode, Lookup, JoinType> Patterns.CorrelatedJoin.type()Methods in io.trino.sql.planner.plan with parameters of type CorrelatedJoinNodeModifier and TypeMethodDescriptionPlanVisitor.visitCorrelatedJoin(CorrelatedJoinNode node, C context)