Uses of Interface
io.trino.sql.planner.iterative.Rule.Context
Packages that use Rule.Context
-
Uses of Rule.Context in io.trino.sql.planner.iterative
Methods in io.trino.sql.planner.iterative with parameters of type Rule.Context -
Uses of Rule.Context in io.trino.sql.planner.iterative.rule
Methods in io.trino.sql.planner.iterative.rule with parameters of type Rule.ContextModifier 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) static booleanDetermineJoinDistributionType.canReplicate(JoinNode joinNode, Rule.Context context) static doubleDetermineJoinDistributionType.getSourceTablesSizeInBytes(PlanNode node, Rule.Context context) GatherAndMergeWindows.MergeAdjacentWindowsOverProjects.manipulateAdjacentWindowNodes(WindowNode parent, WindowNode child, Rule.Context context) GatherAndMergeWindows.SwapAdjacentWindowsBySpecifications.manipulateAdjacentWindowNodes(WindowNode parent, WindowNode child, Rule.Context context) PushAggregationIntoTableScan.pushAggregationIntoTableScan(PlannerContext plannerContext, Rule.Context context, PlanNode aggregationNode, TableScanNode tableScan, Map<Symbol, AggregationNode.Aggregation> aggregations, List<Symbol> groupingKeys) ProjectOffPushDownRule.pushDownProjectOff(Rule.Context context, N targetNode, Set<Symbol> referencedOutputs) PruneAggregationColumns.pushDownProjectOff(Rule.Context context, AggregationNode aggregationNode, Set<Symbol> referencedOutputs) PruneApplyColumns.pushDownProjectOff(Rule.Context context, ApplyNode applyNode, Set<Symbol> referencedOutputs) PruneAssignUniqueIdColumns.pushDownProjectOff(Rule.Context context, AssignUniqueId assignUniqueId, Set<Symbol> referencedOutputs) PruneCorrelatedJoinColumns.pushDownProjectOff(Rule.Context context, CorrelatedJoinNode correlatedJoinNode, Set<Symbol> referencedOutputs) PruneEnforceSingleRowColumns.pushDownProjectOff(Rule.Context context, EnforceSingleRowNode enforceSingleRowNode, Set<Symbol> referencedOutputs) PruneExchangeColumns.pushDownProjectOff(Rule.Context context, ExchangeNode exchangeNode, Set<Symbol> referencedOutputs) PruneFilterColumns.pushDownProjectOff(Rule.Context context, FilterNode filterNode, Set<Symbol> referencedOutputs) PruneGroupIdColumns.pushDownProjectOff(Rule.Context context, GroupIdNode groupIdNode, Set<Symbol> referencedOutputs) PruneIndexJoinColumns.pushDownProjectOff(Rule.Context context, IndexJoinNode indexJoinNode, Set<Symbol> referencedOutputs) PruneIndexSourceColumns.pushDownProjectOff(Rule.Context context, IndexSourceNode indexSourceNode, Set<Symbol> referencedOutputs) PruneJoinColumns.pushDownProjectOff(Rule.Context context, JoinNode joinNode, Set<Symbol> referencedOutputs) PruneLimitColumns.pushDownProjectOff(Rule.Context context, LimitNode limitNode, Set<Symbol> referencedOutputs) PruneMarkDistinctColumns.pushDownProjectOff(Rule.Context context, MarkDistinctNode markDistinctNode, Set<Symbol> referencedOutputs) PruneOffsetColumns.pushDownProjectOff(Rule.Context context, OffsetNode offsetNode, Set<Symbol> referencedOutputs) PrunePattenRecognitionColumns.pushDownProjectOff(Rule.Context context, PatternRecognitionNode patternRecognitionNode, Set<Symbol> referencedOutputs) PruneProjectColumns.pushDownProjectOff(Rule.Context context, ProjectNode childProjectNode, Set<Symbol> referencedOutputs) PruneRowNumberColumns.pushDownProjectOff(Rule.Context context, RowNumberNode rowNumberNode, Set<Symbol> referencedOutputs) PruneSampleColumns.pushDownProjectOff(Rule.Context context, SampleNode sampleNode, Set<Symbol> referencedOutputs) PruneSemiJoinColumns.pushDownProjectOff(Rule.Context context, SemiJoinNode semiJoinNode, Set<Symbol> referencedOutputs) PruneSortColumns.pushDownProjectOff(Rule.Context context, SortNode sortNode, Set<Symbol> referencedOutputs) PruneSpatialJoinColumns.pushDownProjectOff(Rule.Context context, SpatialJoinNode spatialJoinNode, Set<Symbol> referencedOutputs) PruneTableFunctionProcessorColumns.pushDownProjectOff(Rule.Context context, TableFunctionProcessorNode node, Set<Symbol> referencedOutputs) PruneTableScanColumns.pushDownProjectOff(Rule.Context context, TableScanNode node, Set<Symbol> referencedOutputs) PruneTopNColumns.pushDownProjectOff(Rule.Context context, TopNNode topNNode, Set<Symbol> referencedOutputs) PruneTopNRankingColumns.pushDownProjectOff(Rule.Context context, TopNRankingNode topNRankingNode, Set<Symbol> referencedOutputs) PruneUnionColumns.pushDownProjectOff(Rule.Context context, UnionNode unionNode, Set<Symbol> referencedOutputs) PruneUnnestColumns.pushDownProjectOff(Rule.Context context, UnnestNode unnestNode, Set<Symbol> referencedOutputs) PruneValuesColumns.pushDownProjectOff(Rule.Context context, ValuesNode valuesNode, Set<Symbol> referencedOutputs) PruneWindowColumns.pushDownProjectOff(Rule.Context context, WindowNode windowNode, Set<Symbol> referencedOutputs) ExpressionRewriteRuleSet.ExpressionRewriter.rewrite(Expression expression, Rule.Context context)