Uses of Class
io.trino.sql.planner.iterative.Rule.Result
Packages that use Rule.Result
-
Uses of Rule.Result in io.trino.sql.planner.iterative
Methods in io.trino.sql.planner.iterative that return Rule.ResultModifier and TypeMethodDescriptionRule.apply(T node, Captures captures, Rule.Context context) static Rule.ResultRule.Result.empty()static Rule.ResultRule.Result.ofPlanNode(PlanNode transformedPlan) -
Uses of Rule.Result in io.trino.sql.planner.iterative.rule
Methods in io.trino.sql.planner.iterative.rule that return Rule.ResultModifier and TypeMethodDescriptionAddIntermediateAggregations.apply(AggregationNode aggregation, Captures captures, Rule.Context context) ApplyTableScanRedirection.apply(TableScanNode scanNode, Captures captures, Rule.Context context) CreatePartialTopN.apply(TopNNode single, Captures captures, Rule.Context context) DecorrelateInnerUnnestWithGlobalAggregation.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) DetermineJoinDistributionType.apply(JoinNode joinNode, Captures captures, Rule.Context context) DetermineSemiJoinDistributionType.apply(SemiJoinNode semiJoinNode, Captures captures, Rule.Context context) DetermineTableScanNodePartitioning.apply(TableScanNode node, Captures captures, Rule.Context context) EliminateCrossJoins.apply(JoinNode node, Captures captures, Rule.Context context) EvaluateEmptyIntersect.apply(IntersectNode node, Captures captures, Rule.Context context) EvaluateZeroSample.apply(SampleNode sample, Captures captures, Rule.Context context) ExtractDereferencesFromFilterAboveScan.apply(FilterNode node, Captures captures, Rule.Context context) ExtractSpatialJoins.ExtractSpatialInnerJoin.apply(FilterNode node, Captures captures, Rule.Context context) ExtractSpatialJoins.ExtractSpatialLeftJoin.apply(JoinNode joinNode, Captures captures, Rule.Context context) ImplementBernoulliSampleAsFilter.apply(SampleNode sample, Captures captures, Rule.Context context) ImplementExceptAll.apply(ExceptNode node, Captures captures, Rule.Context context) ImplementExceptDistinctAsUnion.apply(ExceptNode node, Captures captures, Rule.Context context) ImplementFilteredAggregations.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) ImplementIntersectAll.apply(IntersectNode node, Captures captures, Rule.Context context) ImplementIntersectDistinctAsUnion.apply(IntersectNode node, Captures captures, Rule.Context context) ImplementLimitWithTies.apply(LimitNode parent, Captures captures, Rule.Context context) ImplementOffset.apply(OffsetNode parent, Captures captures, Rule.Context context) ImplementTableFunctionSource.apply(TableFunctionNode node, Captures captures, Rule.Context context) InlineProjectIntoFilter.apply(FilterNode node, Captures captures, Rule.Context context) InlineProjections.apply(ProjectNode parent, Captures captures, Rule.Context context) MergeExcept.apply(ExceptNode node, Captures captures, Rule.Context context) MergeFilters.apply(FilterNode parent, Captures captures, Rule.Context context) MergeIntersect.apply(IntersectNode node, Captures captures, Rule.Context context) MergeLimitOverProjectWithSort.apply(LimitNode parent, Captures captures, Rule.Context context) MergeLimits.apply(LimitNode parent, Captures captures, Rule.Context context) MergeLimitWithDistinct.apply(LimitNode parent, Captures captures, Rule.Context context) MergeLimitWithSort.apply(LimitNode parent, Captures captures, Rule.Context context) MergeLimitWithTopN.apply(LimitNode parent, Captures captures, Rule.Context context) MergePatternRecognitionNodes.MergePatternRecognitionNodesWithoutProject.apply(PatternRecognitionNode node, Captures captures, Rule.Context context) MergePatternRecognitionNodes.MergePatternRecognitionNodesWithProject.apply(PatternRecognitionNode node, Captures captures, Rule.Context context) MergeProjectWithValues.apply(ProjectNode node, Captures captures, Rule.Context context) MergeUnion.apply(UnionNode node, Captures captures, Rule.Context context) MultipleDistinctAggregationToMarkDistinct.apply(AggregationNode parent, Captures captures, Rule.Context context) OptimizeDuplicateInsensitiveJoins.apply(AggregationNode aggregation, Captures captures, Rule.Context context) OptimizeRowPattern.apply(PatternRecognitionNode node, Captures captures, Rule.Context context) PreAggregateCaseAggregations.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) ProjectOffPushDownRule.apply(ProjectNode parent, Captures captures, Rule.Context context) PruneAggregationSourceColumns.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) PruneApplyCorrelation.apply(ApplyNode applyNode, Captures captures, Rule.Context context) PruneApplySourceColumns.apply(ApplyNode applyNode, Captures captures, Rule.Context context) PruneCorrelatedJoinCorrelation.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) PruneCountAggregationOverScalar.apply(AggregationNode parent, Captures captures, Rule.Context context) PruneDistinctAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) PruneDistinctLimitSourceColumns.apply(DistinctLimitNode distinctLimit, Captures captures, Rule.Context context) PruneExceptSourceColumns.apply(ExceptNode node, Captures captures, Rule.Context context) PruneExchangeSourceColumns.apply(ExchangeNode node, Captures captures, Rule.Context context) PruneExplainAnalyzeSourceColumns.apply(ExplainAnalyzeNode explainAnalyzeNode, Captures captures, Rule.Context context) PruneGroupIdSourceColumns.apply(GroupIdNode groupId, Captures captures, Rule.Context context) PruneIntersectSourceColumns.apply(IntersectNode node, Captures captures, Rule.Context context) PruneJoinChildrenColumns.apply(JoinNode joinNode, Captures captures, Rule.Context context) PruneMergeSourceColumns.apply(MergeWriterNode mergeNode, Captures captures, Rule.Context context) PruneOrderByInAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) PruneOutputSourceColumns.apply(OutputNode outputNode, Captures captures, Rule.Context context) PrunePatternRecognitionSourceColumns.apply(PatternRecognitionNode node, Captures captures, Rule.Context context) PruneSemiJoinFilteringSourceColumns.apply(SemiJoinNode semiJoinNode, Captures captures, Rule.Context context) PruneSpatialJoinChildrenColumns.apply(SpatialJoinNode spatialJoinNode, Captures captures, Rule.Context context) PruneTableExecuteSourceColumns.apply(TableExecuteNode tableExecuteNode, Captures captures, Rule.Context context) PruneTableFunctionProcessorSourceColumns.apply(TableFunctionProcessorNode node, Captures captures, Rule.Context context) PruneTableWriterSourceColumns.apply(TableWriterNode tableWriterNode, Captures captures, Rule.Context context) PruneUnionSourceColumns.apply(UnionNode node, Captures captures, Rule.Context context) PruneUnnestSourceColumns.apply(UnnestNode node, Captures captures, Rule.Context context) PushAggregationIntoTableScan.apply(AggregationNode node, Captures captures, Rule.Context context) PushAggregationThroughOuterJoin.apply(AggregationNode aggregation, Captures captures, Rule.Context context) PushDistinctLimitIntoTableScan.apply(DistinctLimitNode node, Captures captures, Rule.Context context) PushDownDereferencesThroughAssignUniqueId.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughLimit.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughMarkDistinct.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughRowNumber.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughSort.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughTopN.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughTopNRanking.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferencesThroughWindow.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferenceThroughFilter.apply(ProjectNode node, Captures captures, Rule.Context context) PushDownDereferenceThroughJoin.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferenceThroughProject.apply(ProjectNode node, Captures captures, Rule.Context context) PushDownDereferenceThroughSemiJoin.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushDownDereferenceThroughUnnest.apply(ProjectNode projectNode, Captures captures, Rule.Context context) PushdownFilterIntoRowNumber.apply(FilterNode node, Captures captures, Rule.Context context) PushdownFilterIntoWindow.apply(FilterNode node, Captures captures, Rule.Context context) PushdownLimitIntoRowNumber.apply(LimitNode node, Captures captures, Rule.Context context) PushdownLimitIntoWindow.apply(LimitNode node, Captures captures, Rule.Context context) PushDownProjectionsFromPatternRecognition.apply(PatternRecognitionNode node, Captures captures, Rule.Context context) PushFilterThroughCountAggregation.PushFilterThroughCountAggregationWithoutProject.apply(FilterNode node, Captures captures, Rule.Context context) PushFilterThroughCountAggregation.PushFilterThroughCountAggregationWithProject.apply(FilterNode node, Captures captures, Rule.Context context) PushJoinIntoTableScan.apply(JoinNode joinNode, Captures captures, Rule.Context context) PushLimitIntoTableScan.apply(LimitNode limit, Captures captures, Rule.Context context) PushLimitThroughMarkDistinct.apply(LimitNode parent, Captures captures, Rule.Context context) PushLimitThroughOffset.apply(LimitNode parent, Captures captures, Rule.Context context) PushLimitThroughOuterJoin.apply(LimitNode parent, Captures captures, Rule.Context context) PushLimitThroughProject.apply(LimitNode parent, Captures captures, Rule.Context context) PushLimitThroughSemiJoin.apply(LimitNode parent, Captures captures, Rule.Context context) PushLimitThroughUnion.apply(LimitNode parent, Captures captures, Rule.Context context) PushMergeWriterDeleteIntoConnector.apply(TableFinishNode node, Captures captures, Rule.Context context) PushMergeWriterUpdateIntoConnector.apply(TableFinishNode node, Captures captures, Rule.Context context) PushOffsetThroughProject.apply(OffsetNode parent, Captures captures, Rule.Context context) PushPartialAggregationThroughExchange.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) PushPartialAggregationThroughJoin.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) PushPredicateIntoTableScan.apply(FilterNode filterNode, Captures captures, Rule.Context context) PushPredicateThroughProjectIntoRowNumber.apply(FilterNode filter, Captures captures, Rule.Context context) PushPredicateThroughProjectIntoWindow.apply(FilterNode filter, Captures captures, Rule.Context context) PushProjectionIntoTableScan.apply(ProjectNode project, Captures captures, Rule.Context context) PushProjectionThroughExchange.apply(ProjectNode project, Captures captures, Rule.Context context) PushProjectionThroughUnion.apply(ProjectNode parent, Captures captures, Rule.Context context) PushRemoteExchangeThroughAssignUniqueId.apply(ExchangeNode node, Captures captures, Rule.Context context) PushSampleIntoTableScan.apply(SampleNode sample, Captures captures, Rule.Context context) PushTableWriteThroughUnion.apply(TableWriterNode writerNode, Captures captures, Rule.Context context) PushTopNIntoTableScan.apply(TopNNode topNNode, Captures captures, Rule.Context context) PushTopNThroughOuterJoin.apply(TopNNode parent, Captures captures, Rule.Context context) PushTopNThroughProject.apply(TopNNode parent, Captures captures, Rule.Context context) PushTopNThroughUnion.apply(TopNNode topNNode, Captures captures, Rule.Context context) RemoveAggregationInSemiJoin.apply(SemiJoinNode semiJoinNode, Captures captures, Rule.Context context) RemoveEmptyExceptBranches.apply(ExceptNode node, Captures captures, Rule.Context context) RemoveEmptyGlobalAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) RemoveEmptyTableExecute.apply(TableFinishNode finishNode, Captures captures, Rule.Context context) RemoveEmptyUnionBranches.apply(UnionNode node, Captures captures, Rule.Context context) RemoveFullSample.apply(SampleNode sample, Captures captures, Rule.Context context) RemoveRedundantDistinctLimit.apply(DistinctLimitNode node, Captures captures, Rule.Context context) RemoveRedundantEnforceSingleRowNode.apply(EnforceSingleRowNode node, Captures captures, Rule.Context context) RemoveRedundantExists.apply(ApplyNode node, Captures captures, Rule.Context context) RemoveRedundantIdentityProjections.apply(ProjectNode project, Captures captures, Rule.Context context) RemoveRedundantJoin.apply(JoinNode node, Captures captures, Rule.Context context) RemoveRedundantLimit.apply(LimitNode limit, Captures captures, Rule.Context context) RemoveRedundantOffset.apply(OffsetNode offset, Captures captures, Rule.Context context) RemoveRedundantPredicateAboveTableScan.apply(FilterNode filterNode, Captures captures, Rule.Context context) RemoveRedundantSort.apply(SortNode node, Captures captures, Rule.Context context) RemoveRedundantSortBelowLimitWithTies.apply(LimitNode node, Captures captures, Rule.Context context) RemoveRedundantTableFunction.apply(TableFunctionProcessorNode node, Captures captures, Rule.Context context) RemoveRedundantTopN.apply(TopNNode node, Captures captures, Rule.Context context) RemoveRedundantWindow.apply(WindowNode window, Captures captures, Rule.Context context) RemoveTrivialFilters.apply(FilterNode filterNode, Captures captures, Rule.Context context) RemoveUnreferencedScalarApplyNodes.apply(ApplyNode applyNode, Captures captures, Rule.Context context) RemoveUnreferencedScalarSubqueries.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) ReorderJoins.apply(JoinNode joinNode, Captures captures, Rule.Context context) ReplaceJoinOverConstantWithProject.apply(JoinNode node, Captures captures, Rule.Context context) ReplaceRedundantJoinWithProject.apply(JoinNode node, Captures captures, Rule.Context context) ReplaceRedundantJoinWithSource.apply(JoinNode node, Captures captures, Rule.Context context) ReplaceWindowWithRowNumber.apply(WindowNode node, Captures captures, Rule.Context context) RewriteSpatialPartitioningAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) RewriteTableFunctionToTableScan.apply(TableFunctionProcessorNode node, Captures captures, Rule.Context context) SimplifyCountOverConstant.apply(AggregationNode parent, Captures captures, Rule.Context context) SimplifyFilterPredicate.apply(FilterNode node, Captures captures, Rule.Context context) SingleDistinctAggregationToGroupBy.apply(AggregationNode aggregation, 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) TransformCorrelatedInPredicateToJoin.apply(ApplyNode apply, 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) TransformExistsApplyToCorrelatedJoin.apply(ApplyNode parent, Captures captures, Rule.Context context) TransformFilteringSemiJoinToInnerJoin.apply(FilterNode filterNode, Captures captures, Rule.Context context) TransformUncorrelatedInPredicateSubqueryToSemiJoin.apply(ApplyNode applyNode, Captures captures, Rule.Context context) TransformUncorrelatedSubqueryToJoin.apply(CorrelatedJoinNode correlatedJoinNode, Captures captures, Rule.Context context) UnwrapSingleColumnRowInApply.apply(ApplyNode node, Captures captures, Rule.Context context) UseNonPartitionedJoinLookupSource.apply(JoinNode node, Captures captures, Rule.Context context)