Uses of Class
io.trino.sql.planner.plan.PlanNode
Packages that use PlanNode
Package
Description
-
Uses of PlanNode in io.trino.cost
Classes in io.trino.cost with type parameters of type PlanNodeModifier and TypeInterfaceDescriptionstatic interfaceComposableStatsCalculator.Rule<T extends PlanNode>classSimpleStatsRule<T extends PlanNode>Methods in io.trino.cost with parameters of type PlanNodeModifier and TypeMethodDescriptionstatic LocalCostEstimateCostCalculatorWithEstimatedExchanges.adjustReplicatedJoinLocalExchangeCost(PlanNode build, StatsProvider stats, boolean replicated, int estimatedSourceDistributedTaskCount) CostCalculator.calculateCost(PlanNode node, StatsProvider stats, CostProvider sourcesCosts, Session session) Calculates cumulative cost of a node.CostCalculatorUsingExchanges.calculateCost(PlanNode node, StatsProvider stats, CostProvider sourcesCosts, Session session) CostCalculatorWithEstimatedExchanges.calculateCost(PlanNode node, StatsProvider stats, CostProvider sourcesCosts, Session session) static LocalCostEstimateCostCalculatorWithEstimatedExchanges.calculateJoinCostWithoutOutput(PlanNode probe, PlanNode build, StatsProvider stats, boolean replicated, int estimatedSourceDistributedTaskCount) static LocalCostEstimateCostCalculatorWithEstimatedExchanges.calculateJoinInputCost(PlanNode probe, PlanNode build, StatsProvider stats, boolean replicated, int estimatedSourceDistributedTaskCount) ComposableStatsCalculator.calculateStats(PlanNode node, StatsCalculator.Context context) StatsCalculator.calculateStats(PlanNode node, StatsCalculator.Context context) Calculate stats for thenode.static StatsAndCostsStatsAndCosts.create(PlanNode root, StatsProvider statsProvider, CostProvider costProvider) StatsAndCosts.getForSubplan(PlanNode root) -
Uses of PlanNode in io.trino.operator.join
Methods in io.trino.operator.join with parameters of type PlanNode -
Uses of PlanNode in io.trino.sql.planner
Methods in io.trino.sql.planner that return PlanNodeModifier and TypeMethodDescriptionNodeAndMappings.getNode()Plan.getRoot()PlanFragment.getRoot()LogicalPlanner.planStatement(Analysis analysis, Statement statement) Methods in io.trino.sql.planner that return types with arguments of type PlanNodeMethods in io.trino.sql.planner with parameters of type PlanNodeModifier and TypeMethodDescriptionstatic NodeAndMappingsPlanCopier.copyPlan(PlanNode plan, List<Symbol> fields, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator) static List<Expression> ExpressionExtractor.extractExpressions(PlanNode plan) static List<Expression> ExpressionExtractor.extractExpressions(PlanNode plan, Lookup lookup) static List<Expression> ExpressionExtractor.extractExpressionsNonRecursive(PlanNode plan) SymbolsExtractor.extractOutputSymbols(PlanNode planNode) SymbolsExtractor.extractOutputSymbols(PlanNode planNode, Lookup lookup) SymbolsExtractor.extractUnique(PlanNode node) SymbolsExtractor.extractUnique(PlanNode node, Lookup lookup) SymbolsExtractor.extractUniqueNonRecursive(PlanNode node) static voidExpressionExtractor.forEachExpression(PlanNode plan, Consumer<Expression> expressionConsumer) LocalExecutionPlanner.plan(TaskContext taskContext, PlanNode plan, PartitioningScheme partitioningScheme, List<PlanNodeId> partitionedSourceOrder, OutputBuffer outputBuffer) LocalExecutionPlanner.plan(TaskContext taskContext, PlanNode plan, List<Symbol> outputLayout, List<PlanNodeId> partitionedSourceOrder, OutputFactory outputOperatorFactory) static List<PlanNodeId> SchedulingOrderVisitor.scheduleOrder(PlanNode root) protected VoidConstructors in io.trino.sql.planner with parameters of type PlanNodeModifierConstructorDescriptionNodeAndMappings(PlanNode node, List<Symbol> fields) Plan(PlanNode root, StatsAndCosts statsAndCosts) PlanFragment(PlanFragmentId id, PlanNode root, Set<Symbol> symbols, PartitioningHandle partitioning, Optional<Integer> partitionCount, List<PlanNodeId> partitionedSources, PartitioningScheme outputPartitioningScheme, StatsAndCosts statsAndCosts, List<CatalogProperties> activeCatalogs, Map<FunctionId, IrRoutine> languageFunctions, Optional<String> jsonRepresentation) -
Uses of PlanNode in io.trino.sql.planner.iterative
Subclasses of PlanNode in io.trino.sql.planner.iterativeMethods in io.trino.sql.planner.iterative that return PlanNodeModifier and TypeMethodDescriptionMemo.extract()Memo.getNode(int group) GroupReference.replaceChildren(List<PlanNode> newChildren) default PlanNodeResolves a node by materializing GroupReference nodes representing symbolic references to other nodes.Memo.resolve(GroupReference groupReference) static PlanNodePlans.resolveGroupReferences(PlanNode node, Lookup lookup) Methods in io.trino.sql.planner.iterative that return types with arguments of type PlanNodeModifier and TypeMethodDescriptionGroupReference.getSources()Rule.Result.getTransformedPlan()Lookup.resolveGroup(PlanNode node) Resolves nodes by materializing GroupReference nodes representing symbolic references to other nodes.Methods in io.trino.sql.planner.iterative with parameters of type PlanNodeModifier and TypeMethodDescriptionstatic Rule.ResultRule.Result.ofPlanNode(PlanNode transformedPlan) IterativeOptimizer.optimizeAndMarkPlanChanges(PlanNode plan, PlanOptimizer.Context context) default PlanNodeResolves a node by materializing GroupReference nodes representing symbolic references to other nodes.Lookup.resolveGroup(PlanNode node) Resolves nodes by materializing GroupReference nodes representing symbolic references to other nodes.static PlanNodePlans.resolveGroupReferences(PlanNode node, Lookup lookup) Method parameters in io.trino.sql.planner.iterative with type arguments of type PlanNodeModifier and TypeMethodDescriptionstatic LookupLookup.from(Function<GroupReference, Stream<PlanNode>> resolver) GroupReference.replaceChildren(List<PlanNode> newChildren) Constructors in io.trino.sql.planner.iterative with parameters of type PlanNode -
Uses of PlanNode in io.trino.sql.planner.iterative.rule
Classes in io.trino.sql.planner.iterative.rule with type parameters of type PlanNodeMethods in io.trino.sql.planner.iterative.rule that return PlanNodeModifier and TypeMethodDescriptionstatic PlanNodeEliminateCrossJoins.buildJoinTree(List<Symbol> expectedOutputSymbols, JoinGraph graph, List<Integer> joinOrder, PlanNodeIdAllocator idAllocator) PlanNodeWithCost.getPlanNode()SetOperationNodeTranslator.TranslationResult.getPlanNode()RemoveUnsupportedDynamicFilters.optimize(PlanNode plan, PlanOptimizer.Context context) static PlanNodeImplementLimitWithTies.rewriteLimitWithTiesWithPartitioning(LimitNode limitNode, PlanNode source, Session session, Metadata metadata, PlanNodeIdAllocator idAllocator, SymbolAllocator symbolAllocator, List<Symbol> partitionBy) Rewrite LimitNode with ties to WindowNode and FilterNode, with partitioning defined by partitionBy.Methods in io.trino.sql.planner.iterative.rule that return types with arguments of type PlanNodeModifier and TypeMethodDescriptionGatherAndMergeWindows.MergeAdjacentWindowsOverProjects.manipulateAdjacentWindowNodes(WindowNode parent, WindowNode child, Rule.Context context) GatherAndMergeWindows.SwapAdjacentWindowsBySpecifications.manipulateAdjacentWindowNodes(WindowNode parent, WindowNode child, Rule.Context context) PruneTableScanColumns.pruneColumns(Metadata metadata, Session session, TableScanNode node, Set<Symbol> referencedOutputs) 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) PushPredicateIntoTableScan.pushFilterIntoTableScan(FilterNode filterNode, TableScanNode node, boolean pruneWithPredicateExpression, Session session, PlannerContext plannerContext, StatsProvider statsProvider) PushProjectionThroughJoin.pushProjectionThroughJoin(ProjectNode projectNode, Lookup lookup, PlanNodeIdAllocator planNodeIdAllocator) Methods in io.trino.sql.planner.iterative.rule with parameters of type PlanNodeModifier and TypeMethodDescriptionstatic Optional<PlanNodeStatsEstimate> Rules.deriveTableStatisticsForPushdown(StatsProvider statsProvider, Session session, boolean precalculateStatistics, PlanNode oldTableScanParent) static doubleDetermineJoinDistributionType.getSourceTablesSizeInBytes(PlanNode node, Rule.Context context) RemoveUnsupportedDynamicFilters.optimize(PlanNode plan, PlanOptimizer.Context context) PushAggregationIntoTableScan.pushAggregationIntoTableScan(PlannerContext plannerContext, Rule.Context context, PlanNode aggregationNode, TableScanNode tableScan, Map<Symbol, AggregationNode.Aggregation> aggregations, List<Symbol> groupingKeys) static PlanNodeImplementLimitWithTies.rewriteLimitWithTiesWithPartitioning(LimitNode limitNode, PlanNode source, Session session, Metadata metadata, PlanNodeIdAllocator idAllocator, SymbolAllocator symbolAllocator, List<Symbol> partitionBy) Rewrite LimitNode with ties to WindowNode and FilterNode, with partitioning defined by partitionBy.Constructors in io.trino.sql.planner.iterative.rule with parameters of type PlanNodeModifierConstructorDescriptionPlanNodeWithCost(PlanCostEstimate cost, PlanNode planNode) TranslationResult(PlanNode planNode, List<Symbol> countSymbols) -
Uses of PlanNode in io.trino.sql.planner.optimizations
Methods in io.trino.sql.planner.optimizations that return PlanNodeModifier and TypeMethodDescriptionPlanNodeSearcher.findOnlyElement()PlanNodeDecorrelator.DecorrelatedNode.getNode()default PlanNodeAdaptivePlanOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) AddExchanges.optimize(PlanNode plan, PlanOptimizer.Context context) AddLocalExchanges.optimize(PlanNode plan, PlanOptimizer.Context context) BeginTableWrite.optimize(PlanNode plan, PlanOptimizer.Context context) CheckSubqueryNodesAreRewritten.optimize(PlanNode plan, PlanOptimizer.Context context) DeterminePartitionCount.optimize(PlanNode plan, PlanOptimizer.Context context) HashGenerationOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) IndexJoinOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) LimitPushDown.optimize(PlanNode plan, PlanOptimizer.Context context) MetadataQueryOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) OptimizeMixedDistinctAggregations.optimize(PlanNode plan, PlanOptimizer.Context context) PlanOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) PredicatePushDown.optimize(PlanNode plan, PlanOptimizer.Context context) StatsRecordingPlanOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) TransformQuantifiedComparisonApplyToCorrelatedJoin.optimize(PlanNode plan, PlanOptimizer.Context context) UnaliasSymbolReferences.optimize(PlanNode plan, PlanOptimizer.Context context) WindowFilterPushDown.optimize(PlanNode plan, PlanOptimizer.Context context) AdaptivePlanOptimizer.Result.plan()Returns the value of theplanrecord component.PlanNodeSearcher.removeAll()PlanNodeSearcher.removeFirst()PlanNodeSearcher.replaceAll(PlanNode newPlanNode) PlanNodeSearcher.replaceFirst(PlanNode newPlanNode) Methods in io.trino.sql.planner.optimizations that return types with arguments of type PlanNodeModifier and TypeMethodDescriptionPlanNodeSearcher.findAll()Return a list of matching nodes ordered as in pre-order traversal of the plan tree.PlanNodeSearcher.findFirst()Methods in io.trino.sql.planner.optimizations with parameters of type PlanNodeModifier and TypeMethodDescriptionPlanNodeDecorrelator.decorrelateFilters(PlanNode node, List<Symbol> correlation) static ActualPropertiesPropertyDerivations.deriveProperties(PlanNode node, List<ActualProperties> inputProperties, PlannerContext plannerContext, Session session) StreamPropertyDerivations.deriveProperties(PlanNode node, StreamPropertyDerivations.StreamProperties inputProperties, PlannerContext plannerContext, Session session) StreamPropertyDerivations.deriveProperties(PlanNode node, List<StreamPropertyDerivations.StreamProperties> inputProperties, PlannerContext plannerContext, Session session) static ActualPropertiesPropertyDerivations.derivePropertiesRecursively(PlanNode node, PlannerContext plannerContext, Session session) StreamPropertyDerivations.derivePropertiesRecursively(PlanNode node, PlannerContext plannerContext, Session session) static CardinalityQueryCardinalityUtil.extractCardinality(PlanNode node) static CardinalityQueryCardinalityUtil.extractCardinality(PlanNode node, Lookup lookup) static booleanstatic booleanQueryCardinalityUtil.isAtLeastScalar(PlanNode node, Lookup lookup) static booleanstatic booleanQueryCardinalityUtil.isAtMostScalar(PlanNode node) static booleanQueryCardinalityUtil.isAtMostScalar(PlanNode node, Lookup lookup) static booleanDistinctOutputQueryUtil.isDistinct(PlanNode node) static booleanDistinctOutputQueryUtil.isDistinct(PlanNode node, Function<PlanNode, PlanNode> lookupFunction) static booleanstatic booleanstatic booleanSymbolMapper.map(AggregationNode node, PlanNode source) SymbolMapper.map(AggregationNode node, PlanNode source, PlanNodeId newNodeId) SymbolMapper.map(DistinctLimitNode node, PlanNode source) SymbolMapper.map(GroupIdNode node, PlanNode source) SymbolMapper.map(MergeProcessorNode node, PlanNode source) SymbolMapper.map(MergeWriterNode node, PlanNode source) SymbolMapper.map(MergeWriterNode node, PlanNode source, PlanNodeId newId) SymbolMapper.map(PatternRecognitionNode node, PlanNode source) SymbolMapper.map(RowNumberNode node, PlanNode source) SymbolMapper.map(StatisticsWriterNode node, PlanNode source) SymbolMapper.map(TableExecuteNode node, PlanNode source) SymbolMapper.map(TableExecuteNode node, PlanNode source, PlanNodeId newId) SymbolMapper.map(TableFinishNode node, PlanNode source) SymbolMapper.map(TableFunctionProcessorNode node, PlanNode source) SymbolMapper.map(TableWriterNode node, PlanNode source) SymbolMapper.map(TableWriterNode node, PlanNode source, PlanNodeId newId) SymbolMapper.map(TopNNode node, PlanNode source, PlanNodeId nodeId) SymbolMapper.map(TopNRankingNode node, PlanNode source) SymbolMapper.map(WindowNode node, PlanNode source) default PlanNodeAdaptivePlanOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) AddExchanges.optimize(PlanNode plan, PlanOptimizer.Context context) AddLocalExchanges.optimize(PlanNode plan, PlanOptimizer.Context context) BeginTableWrite.optimize(PlanNode plan, PlanOptimizer.Context context) CheckSubqueryNodesAreRewritten.optimize(PlanNode plan, PlanOptimizer.Context context) DeterminePartitionCount.optimize(PlanNode plan, PlanOptimizer.Context context) HashGenerationOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) IndexJoinOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) LimitPushDown.optimize(PlanNode plan, PlanOptimizer.Context context) MetadataQueryOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) OptimizeMixedDistinctAggregations.optimize(PlanNode plan, PlanOptimizer.Context context) PlanOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) PredicatePushDown.optimize(PlanNode plan, PlanOptimizer.Context context) StatsRecordingPlanOptimizer.optimize(PlanNode plan, PlanOptimizer.Context context) TransformQuantifiedComparisonApplyToCorrelatedJoin.optimize(PlanNode plan, PlanOptimizer.Context context) UnaliasSymbolReferences.optimize(PlanNode plan, PlanOptimizer.Context context) WindowFilterPushDown.optimize(PlanNode plan, PlanOptimizer.Context context) AdaptivePartitioning.optimizeAndMarkPlanChanges(PlanNode plan, PlanOptimizer.Context context) AdaptivePlanOptimizer.optimizeAndMarkPlanChanges(PlanNode plan, PlanOptimizer.Context context) Optimize the plan and return the changes made to the plan.UnaliasSymbolReferences.reallocateSymbols(PlanNode plan, List<Symbol> fields, SymbolAllocator symbolAllocator) Replace all symbols in the plan with new symbols.PlanNodeSearcher.replaceAll(PlanNode newPlanNode) PlanNodeSearcher.replaceFirst(PlanNode newPlanNode) static PlanNodeSearcherPlanNodeSearcher.searchFrom(PlanNode node) static PlanNodeSearcherPlanNodeSearcher.searchFrom(PlanNode node, Lookup lookup) Use it in optimizerRuleonly if you truly do not have a better optionstatic ActualPropertiesPropertyDerivations.streamBackdoorDeriveProperties(PlanNode node, List<ActualProperties> inputProperties, PlannerContext plannerContext, Session session) Method parameters in io.trino.sql.planner.optimizations with type arguments of type PlanNodeModifier and TypeMethodDescriptionstatic booleanDistinctOutputQueryUtil.isDistinct(PlanNode node, Function<PlanNode, PlanNode> lookupFunction) static booleanDistinctOutputQueryUtil.isDistinct(PlanNode node, Function<PlanNode, PlanNode> lookupFunction) PlanNodeSearcher.recurseOnlyWhen(Predicate<PlanNode> skipOnly) final PlanNodeSearcherPlanNodeSearcher.whereIsInstanceOfAny(List<Class<? extends PlanNode>> classes) Constructors in io.trino.sql.planner.optimizations with parameters of type PlanNodeModifierConstructorDescriptionDecorrelatedNode(List<Expression> correlatedPredicates, PlanNode node) Result(PlanNode plan, Set<PlanNodeId> changedPlanNodes) Creates an instance of aResultrecord class. -
Uses of PlanNode in io.trino.sql.planner.optimizations.joins
Methods in io.trino.sql.planner.optimizations.joins that return PlanNodeMethods in io.trino.sql.planner.optimizations.joins that return types with arguments of type PlanNodeMethods in io.trino.sql.planner.optimizations.joins with parameters of type PlanNodeModifier and TypeMethodDescriptionstatic JoinGraphJoinGraph.buildFrom(PlanNode plan, Lookup lookup, PlanNodeIdAllocator planNodeIdAllocator) BuildsJoinGraphcontainingplannode.Constructors in io.trino.sql.planner.optimizations.joins with parameters of type PlanNodeModifierConstructorDescriptionConstructor parameters in io.trino.sql.planner.optimizations.joins with type arguments of type PlanNodeModifierConstructorDescriptionJoinGraph(List<PlanNode> nodes, com.google.common.collect.Multimap<PlanNodeId, JoinGraph.Edge> edges, PlanNodeId rootId, List<Expression> filters, boolean containsCrossJoin) -
Uses of PlanNode in io.trino.sql.planner.plan
Subclasses of PlanNode in io.trino.sql.planner.planModifier and TypeClassDescriptionclassclassclassclassclassFor every row fromCorrelatedJoinNode.inputaCorrelatedJoinNode.subqueryrelation is calculated.classclassclassclassclassclassclassclassclassclassclassclassclassclassclassThe node processes the result of the Searched CASE and RIGHT JOIN derived from a MERGE statement.classclassclassclassclassclassclassfinal classclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassfinal classclassclassclassclassMethods in io.trino.sql.planner.plan that return PlanNodeModifier and TypeMethodDescriptionSimplePlanRewriter.RewriteContext.defaultRewrite(PlanNode node) Invoke the rewrite logic recursively on children of the given node and swap it out with an identical copy with the rewritten childrenSimplePlanRewriter.RewriteContext.defaultRewrite(PlanNode node, C context) Invoke the rewrite logic recursively on children of the given node and swap it out with an identical copy with the rewritten childrenAdaptivePlanNode.getCurrentPlan()SemiJoinNode.getFilteringSource()IndexJoinNode.getIndexSource()AdaptivePlanNode.getInitialPlan()ApplyNode.getInput()CorrelatedJoinNode.getInput()JoinNode.getLeft()SpatialJoinNode.getLeft()IndexJoinNode.getProbeSource()JoinNode.getRight()SpatialJoinNode.getRight()AggregationNode.getSource()AssignUniqueId.getSource()DistinctLimitNode.getSource()DynamicFilterSourceNode.getSource()EnforceSingleRowNode.getSource()ExplainAnalyzeNode.getSource()FilterNode.getSource()GroupIdNode.getSource()LimitNode.getSource()MarkDistinctNode.getSource()MergeProcessorNode.getSource()MergeWriterNode.getSource()OffsetNode.getSource()OutputNode.getSource()PatternRecognitionNode.getSource()ProjectNode.getSource()RowNumberNode.getSource()SampleNode.getSource()SemiJoinNode.getSource()SortNode.getSource()StatisticsWriterNode.getSource()TableExecuteNode.getSource()TableFinishNode.getSource()TableWriterNode.getSource()TopNNode.getSource()TopNRankingNode.getSource()UnnestNode.getSource()WindowNode.getSource()ApplyNode.getSubquery()CorrelatedJoinNode.getSubquery()AdaptivePlanNode.replaceChildren(List<PlanNode> newChildren) AggregationNode.replaceChildren(List<PlanNode> newChildren) ApplyNode.replaceChildren(List<PlanNode> newChildren) AssignUniqueId.replaceChildren(List<PlanNode> newChildren) static PlanNodeChildReplacer.replaceChildren(PlanNode node, List<PlanNode> children) Return an identical copy of the given node with its children replacedCorrelatedJoinNode.replaceChildren(List<PlanNode> newChildren) DistinctLimitNode.replaceChildren(List<PlanNode> newChildren) DynamicFilterSourceNode.replaceChildren(List<PlanNode> newChildren) EnforceSingleRowNode.replaceChildren(List<PlanNode> newChildren) ExceptNode.replaceChildren(List<PlanNode> newChildren) ExchangeNode.replaceChildren(List<PlanNode> newChildren) ExplainAnalyzeNode.replaceChildren(List<PlanNode> newChildren) FilterNode.replaceChildren(List<PlanNode> newChildren) GroupIdNode.replaceChildren(List<PlanNode> newChildren) IndexJoinNode.replaceChildren(List<PlanNode> newChildren) IndexSourceNode.replaceChildren(List<PlanNode> newChildren) IntersectNode.replaceChildren(List<PlanNode> newChildren) JoinNode.replaceChildren(List<PlanNode> newChildren) LimitNode.replaceChildren(List<PlanNode> newChildren) MarkDistinctNode.replaceChildren(List<PlanNode> newChildren) MergeProcessorNode.replaceChildren(List<PlanNode> newChildren) MergeWriterNode.replaceChildren(List<PlanNode> newChildren) OffsetNode.replaceChildren(List<PlanNode> newChildren) OutputNode.replaceChildren(List<PlanNode> newChildren) PatternRecognitionNode.replaceChildren(List<PlanNode> newChildren) abstract PlanNodePlanNode.replaceChildren(List<PlanNode> newChildren) ProjectNode.replaceChildren(List<PlanNode> newChildren) RefreshMaterializedViewNode.replaceChildren(List<PlanNode> newChildren) RemoteSourceNode.replaceChildren(List<PlanNode> newChildren) RowNumberNode.replaceChildren(List<PlanNode> newChildren) SampleNode.replaceChildren(List<PlanNode> newChildren) SemiJoinNode.replaceChildren(List<PlanNode> newChildren) SimpleTableExecuteNode.replaceChildren(List<PlanNode> newChildren) SortNode.replaceChildren(List<PlanNode> newChildren) SpatialJoinNode.replaceChildren(List<PlanNode> newChildren) StatisticsWriterNode.replaceChildren(List<PlanNode> newChildren) TableDeleteNode.replaceChildren(List<PlanNode> newChildren) TableExecuteNode.replaceChildren(List<PlanNode> newChildren) TableFinishNode.replaceChildren(List<PlanNode> newChildren) TableFunctionNode.replaceChildren(List<PlanNode> newSources) TableFunctionProcessorNode.replaceChildren(List<PlanNode> newSources) TableScanNode.replaceChildren(List<PlanNode> newChildren) TableUpdateNode.replaceChildren(List<PlanNode> newChildren) TableWriterNode.replaceChildren(List<PlanNode> newChildren) TopNNode.replaceChildren(List<PlanNode> newChildren) TopNRankingNode.replaceChildren(List<PlanNode> newChildren) UnionNode.replaceChildren(List<PlanNode> newChildren) UnnestNode.replaceChildren(List<PlanNode> newChildren) ValuesNode.replaceChildren(List<PlanNode> newChildren) WindowNode.replaceChildren(List<PlanNode> newChildren) This method is meant for invoking the rewrite logic on children while processing a nodeThis method is meant for invoking the rewrite logic on children while processing a nodestatic <C> PlanNodeSimplePlanRewriter.rewriteWith(SimplePlanRewriter<C> rewriter, PlanNode node) static <C> PlanNodeSimplePlanRewriter.rewriteWith(SimplePlanRewriter<C> rewriter, PlanNode node, C context) protected PlanNodeSimplePlanRewriter.visitPlan(PlanNode node, SimplePlanRewriter.RewriteContext<C> context) Methods in io.trino.sql.planner.plan that return types with arguments of type PlanNodeModifier and TypeMethodDescriptionstatic Property<SemiJoinNode, Lookup, PlanNode> Patterns.SemiJoin.getFilteringSource()static Property<SemiJoinNode, Lookup, PlanNode> Patterns.SemiJoin.getSource()TableFunctionProcessorNode.getSource()AdaptivePlanNode.getSources()AggregationNode.getSources()ApplyNode.getSources()AssignUniqueId.getSources()CorrelatedJoinNode.getSources()DistinctLimitNode.getSources()DynamicFilterSourceNode.getSources()EnforceSingleRowNode.getSources()ExchangeNode.getSources()ExplainAnalyzeNode.getSources()FilterNode.getSources()GroupIdNode.getSources()IndexJoinNode.getSources()IndexSourceNode.getSources()JoinNode.getSources()LimitNode.getSources()MarkDistinctNode.getSources()MergeProcessorNode.getSources()MergeWriterNode.getSources()OffsetNode.getSources()OutputNode.getSources()PatternRecognitionNode.getSources()PlanNode.getSources()ProjectNode.getSources()RefreshMaterializedViewNode.getSources()RemoteSourceNode.getSources()RowNumberNode.getSources()SampleNode.getSources()SemiJoinNode.getSources()SetOperationNode.getSources()SimpleTableExecuteNode.getSources()SortNode.getSources()SpatialJoinNode.getSources()StatisticsWriterNode.getSources()TableDeleteNode.getSources()TableExecuteNode.getSources()TableFinishNode.getSources()TableFunctionNode.getSources()TableFunctionProcessorNode.getSources()TableScanNode.getSources()TableUpdateNode.getSources()TableWriterNode.getSources()TopNNode.getSources()TopNRankingNode.getSources()UnnestNode.getSources()ValuesNode.getSources()WindowNode.getSources()Patterns.Join.left()Patterns.Join.right()Patterns.source()Patterns.source()Patterns.sources()Patterns.sources()static Property<CorrelatedJoinNode, Lookup, PlanNode> Patterns.CorrelatedJoin.subquery()Methods in io.trino.sql.planner.plan with parameters of type PlanNodeModifier and TypeMethodDescriptionSimplePlanRewriter.RewriteContext.defaultRewrite(PlanNode node) Invoke the rewrite logic recursively on children of the given node and swap it out with an identical copy with the rewritten childrenSimplePlanRewriter.RewriteContext.defaultRewrite(PlanNode node, C context) Invoke the rewrite logic recursively on children of the given node and swap it out with an identical copy with the rewritten childrenstatic ExchangeNodeExchangeNode.gatheringExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child) static ExchangeNodeExchangeNode.mergingExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child, OrderingScheme orderingScheme) static ExchangeNodeExchangeNode.partitionedExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child, PartitioningScheme partitioningScheme) static ExchangeNodeExchangeNode.partitionedExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child, List<Symbol> partitioningColumns, Optional<Symbol> hashColumns) static ExchangeNodeExchangeNode.partitionedExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child, List<Symbol> partitioningColumns, Optional<Symbol> hashColumns, boolean replicateNullsAndAny) static PlanNodeChildReplacer.replaceChildren(PlanNode node, List<PlanNode> children) Return an identical copy of the given node with its children replacedstatic ExchangeNodeExchangeNode.replicatedExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child) This method is meant for invoking the rewrite logic on children while processing a nodeThis method is meant for invoking the rewrite logic on children while processing a nodestatic <C> PlanNodeSimplePlanRewriter.rewriteWith(SimplePlanRewriter<C> rewriter, PlanNode node) static <C> PlanNodeSimplePlanRewriter.rewriteWith(SimplePlanRewriter<C> rewriter, PlanNode node, C context) static ExchangeNodeExchangeNode.roundRobinExchange(PlanNodeId id, ExchangeNode.Scope scope, PlanNode child) static AggregationNodeAggregationNode.singleAggregation(PlanNodeId id, PlanNode source, Map<Symbol, AggregationNode.Aggregation> aggregations, AggregationNode.GroupingSetDescriptor groupingSets) protected abstract Rprotected PlanNodeSimplePlanRewriter.visitPlan(PlanNode node, SimplePlanRewriter.RewriteContext<C> context) Method parameters in io.trino.sql.planner.plan with type arguments of type PlanNodeModifier and TypeMethodDescriptionAdaptivePlanNode.replaceChildren(List<PlanNode> newChildren) AggregationNode.replaceChildren(List<PlanNode> newChildren) ApplyNode.replaceChildren(List<PlanNode> newChildren) AssignUniqueId.replaceChildren(List<PlanNode> newChildren) static PlanNodeChildReplacer.replaceChildren(PlanNode node, List<PlanNode> children) Return an identical copy of the given node with its children replacedCorrelatedJoinNode.replaceChildren(List<PlanNode> newChildren) DistinctLimitNode.replaceChildren(List<PlanNode> newChildren) DynamicFilterSourceNode.replaceChildren(List<PlanNode> newChildren) EnforceSingleRowNode.replaceChildren(List<PlanNode> newChildren) ExceptNode.replaceChildren(List<PlanNode> newChildren) ExchangeNode.replaceChildren(List<PlanNode> newChildren) ExplainAnalyzeNode.replaceChildren(List<PlanNode> newChildren) FilterNode.replaceChildren(List<PlanNode> newChildren) GroupIdNode.replaceChildren(List<PlanNode> newChildren) IndexJoinNode.replaceChildren(List<PlanNode> newChildren) IndexSourceNode.replaceChildren(List<PlanNode> newChildren) IntersectNode.replaceChildren(List<PlanNode> newChildren) JoinNode.replaceChildren(List<PlanNode> newChildren) LimitNode.replaceChildren(List<PlanNode> newChildren) MarkDistinctNode.replaceChildren(List<PlanNode> newChildren) MergeProcessorNode.replaceChildren(List<PlanNode> newChildren) MergeWriterNode.replaceChildren(List<PlanNode> newChildren) OffsetNode.replaceChildren(List<PlanNode> newChildren) OutputNode.replaceChildren(List<PlanNode> newChildren) PatternRecognitionNode.replaceChildren(List<PlanNode> newChildren) abstract PlanNodePlanNode.replaceChildren(List<PlanNode> newChildren) ProjectNode.replaceChildren(List<PlanNode> newChildren) RefreshMaterializedViewNode.replaceChildren(List<PlanNode> newChildren) RemoteSourceNode.replaceChildren(List<PlanNode> newChildren) RowNumberNode.replaceChildren(List<PlanNode> newChildren) SampleNode.replaceChildren(List<PlanNode> newChildren) SemiJoinNode.replaceChildren(List<PlanNode> newChildren) SimpleTableExecuteNode.replaceChildren(List<PlanNode> newChildren) SortNode.replaceChildren(List<PlanNode> newChildren) SpatialJoinNode.replaceChildren(List<PlanNode> newChildren) StatisticsWriterNode.replaceChildren(List<PlanNode> newChildren) TableDeleteNode.replaceChildren(List<PlanNode> newChildren) TableExecuteNode.replaceChildren(List<PlanNode> newChildren) TableFinishNode.replaceChildren(List<PlanNode> newChildren) TableFunctionNode.replaceChildren(List<PlanNode> newSources) TableFunctionProcessorNode.replaceChildren(List<PlanNode> newSources) TableScanNode.replaceChildren(List<PlanNode> newChildren) TableUpdateNode.replaceChildren(List<PlanNode> newChildren) TableWriterNode.replaceChildren(List<PlanNode> newChildren) TopNNode.replaceChildren(List<PlanNode> newChildren) TopNRankingNode.replaceChildren(List<PlanNode> newChildren) UnionNode.replaceChildren(List<PlanNode> newChildren) UnnestNode.replaceChildren(List<PlanNode> newChildren) ValuesNode.replaceChildren(List<PlanNode> newChildren) WindowNode.replaceChildren(List<PlanNode> newChildren) Constructors in io.trino.sql.planner.plan with parameters of type PlanNodeModifierConstructorDescriptionAdaptivePlanNode(PlanNodeId id, PlanNode initialPlan, Set<Symbol> initialSymbols, PlanNode currentPlan) AggregationNode(PlanNodeId id, PlanNode source, Map<Symbol, AggregationNode.Aggregation> aggregations, AggregationNode.GroupingSetDescriptor groupingSets, List<Symbol> preGroupedSymbols, AggregationNode.Step step, Optional<Symbol> hashSymbol, Optional<Symbol> groupIdSymbol) ApplyNode(PlanNodeId id, PlanNode input, PlanNode subquery, Map<Symbol, ApplyNode.SetExpression> subqueryAssignments, List<Symbol> correlation, Node originSubquery) AssignUniqueId(PlanNodeId id, PlanNode source, Symbol idColumn) CorrelatedJoinNode(PlanNodeId id, PlanNode input, PlanNode subquery, List<Symbol> correlation, JoinType type, Expression filter, Node originSubquery) DistinctLimitNode(PlanNodeId id, PlanNode source, long limit, boolean partial, List<Symbol> distinctSymbols, Optional<Symbol> hashSymbol) DynamicFilterSourceNode(PlanNodeId id, PlanNode source, Map<DynamicFilterId, Symbol> dynamicFilters) EnforceSingleRowNode(PlanNodeId id, PlanNode source) ExplainAnalyzeNode(PlanNodeId id, PlanNode source, Symbol outputSymbol, List<Symbol> actualOutputs, boolean verbose) FilterNode(PlanNodeId id, PlanNode source, Expression predicate) GroupIdNode(PlanNodeId id, PlanNode source, List<List<Symbol>> groupingSets, Map<Symbol, Symbol> groupingColumns, List<Symbol> aggregationArguments, Symbol groupIdSymbol) IndexJoinNode(PlanNodeId id, IndexJoinNode.Type type, PlanNode probeSource, PlanNode indexSource, List<IndexJoinNode.EquiJoinClause> criteria, Optional<Symbol> probeHashSymbol, Optional<Symbol> indexHashSymbol) JoinNode(PlanNodeId id, JoinType 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) LimitNode(PlanNodeId id, PlanNode source, long count, boolean partial) LimitNode(PlanNodeId id, PlanNode source, long count, Optional<OrderingScheme> tiesResolvingScheme, boolean partial, List<Symbol> preSortedInputs) MarkDistinctNode(PlanNodeId id, PlanNode source, Symbol markerSymbol, List<Symbol> distinctSymbols, Optional<Symbol> hashSymbol) MergeProcessorNode(PlanNodeId id, PlanNode source, TableWriterNode.MergeTarget target, Symbol rowIdSymbol, Symbol mergeRowSymbol, List<Symbol> dataColumnSymbols, List<Symbol> redistributionColumnSymbols, List<Symbol> outputs) MergeWriterNode(PlanNodeId id, PlanNode source, TableWriterNode.MergeTarget target, List<Symbol> projectedSymbols, Optional<PartitioningScheme> partitioningScheme, List<Symbol> outputs) OffsetNode(PlanNodeId id, PlanNode source, long count) OutputNode(PlanNodeId id, PlanNode source, List<String> columnNames, List<Symbol> outputs) PatternRecognitionNode(PlanNodeId id, PlanNode source, DataOrganizationSpecification specification, Optional<Symbol> hashSymbol, Set<Symbol> prePartitionedInputs, int preSortedOrderPrefix, Map<Symbol, WindowNode.Function> windowFunctions, Map<Symbol, PatternRecognitionNode.Measure> measures, Optional<WindowNode.Frame> commonBaseFrame, RowsPerMatch rowsPerMatch, Set<IrLabel> skipToLabels, SkipToPosition skipToPosition, boolean initial, IrRowPattern pattern, Map<IrLabel, ExpressionAndValuePointers> variableDefinitions) ProjectNode(PlanNodeId id, PlanNode source, Assignments assignments) RowNumberNode(PlanNodeId id, PlanNode source, List<Symbol> partitionBy, boolean orderSensitive, Symbol rowNumberSymbol, Optional<Integer> maxRowCountPerPartition, Optional<Symbol> hashSymbol) SampleNode(PlanNodeId id, PlanNode source, double sampleRatio, SampleNode.Type sampleType) SemiJoinNode(PlanNodeId id, PlanNode source, PlanNode filteringSource, Symbol sourceJoinSymbol, Symbol filteringSourceJoinSymbol, Symbol semiJoinOutput, Optional<Symbol> sourceHashSymbol, Optional<Symbol> filteringSourceHashSymbol, Optional<SemiJoinNode.DistributionType> distributionType, Optional<DynamicFilterId> dynamicFilterId) SortNode(PlanNodeId id, PlanNode source, OrderingScheme orderingScheme, boolean partial) SpatialJoinNode(PlanNodeId id, SpatialJoinNode.Type type, PlanNode left, PlanNode right, List<Symbol> outputSymbols, Expression filter, Optional<Symbol> leftPartitionSymbol, Optional<Symbol> rightPartitionSymbol, Optional<String> kdbTree) StatisticsWriterNode(PlanNodeId id, PlanNode source, StatisticsWriterNode.WriteStatisticsTarget target, Symbol rowCountSymbol, boolean rowCountEnabled, StatisticAggregationsDescriptor<Symbol> descriptor) TableExecuteNode(PlanNodeId id, PlanNode source, TableWriterNode.TableExecuteTarget target, Symbol rowCountSymbol, Symbol fragmentSymbol, List<Symbol> columns, List<String> columnNames, Optional<PartitioningScheme> partitioningScheme) TableFinishNode(PlanNodeId id, PlanNode source, TableWriterNode.WriterTarget target, Symbol rowCountSymbol, Optional<StatisticAggregations> statisticsAggregation, Optional<StatisticAggregationsDescriptor<Symbol>> statisticsAggregationDescriptor) TableWriterNode(PlanNodeId id, PlanNode source, TableWriterNode.WriterTarget target, Symbol rowCountSymbol, Symbol fragmentSymbol, List<Symbol> columns, List<String> columnNames, Optional<PartitioningScheme> partitioningScheme, Optional<StatisticAggregations> statisticsAggregation, Optional<StatisticAggregationsDescriptor<Symbol>> statisticsAggregationDescriptor) TopNNode(PlanNodeId id, PlanNode source, long count, OrderingScheme orderingScheme, TopNNode.Step step) TopNRankingNode(PlanNodeId id, PlanNode source, DataOrganizationSpecification specification, TopNRankingNode.RankingType rankingType, Symbol rankingSymbol, int maxRankingPerPartition, boolean partial, Optional<Symbol> hashSymbol) UnnestNode(PlanNodeId id, PlanNode source, List<Symbol> replicateSymbols, List<UnnestNode.Mapping> mappings, Optional<Symbol> ordinalitySymbol, JoinType joinType) WindowNode(PlanNodeId id, PlanNode source, DataOrganizationSpecification specification, Map<Symbol, WindowNode.Function> windowFunctions, Optional<Symbol> hashSymbol, Set<Symbol> prePartitionedInputs, int preSortedOrderPrefix) Constructor parameters in io.trino.sql.planner.plan with type arguments of type PlanNodeModifierConstructorDescriptionExceptNode(PlanNodeId id, List<PlanNode> sources, com.google.common.collect.ListMultimap<Symbol, Symbol> outputToInputs, List<Symbol> outputs, boolean distinct) ExchangeNode(PlanNodeId id, ExchangeNode.Type type, ExchangeNode.Scope scope, PartitioningScheme partitioningScheme, List<PlanNode> sources, List<List<Symbol>> inputs, Optional<OrderingScheme> orderingScheme) IntersectNode(PlanNodeId id, List<PlanNode> sources, com.google.common.collect.ListMultimap<Symbol, Symbol> outputToInputs, List<Symbol> outputs, boolean distinct) protectedSetOperationNode(PlanNodeId id, List<PlanNode> sources, com.google.common.collect.ListMultimap<Symbol, Symbol> outputToInputs, List<Symbol> outputs) TableFunctionProcessorNode(PlanNodeId id, String name, List<Symbol> properOutputs, Optional<PlanNode> source, boolean pruneWhenEmpty, List<TableFunctionNode.PassThroughSpecification> passThroughSpecifications, List<List<Symbol>> requiredSymbols, Optional<Map<Symbol, Symbol>> markerSymbols, Optional<DataOrganizationSpecification> specification, Set<Symbol> prePartitioned, int preSorted, Optional<Symbol> hashSymbol, TableFunctionHandle handle) UnionNode(PlanNodeId id, List<PlanNode> sources, com.google.common.collect.ListMultimap<Symbol, Symbol> outputToInputs, List<Symbol> outputs) -
Uses of PlanNode in io.trino.sql.planner.planprinter
Methods in io.trino.sql.planner.planprinter with parameters of type PlanNodeModifier and TypeMethodDescriptionstatic StringPlanPrinter.graphvizLogicalPlan(PlanNode plan) static StringPlanPrinter.jsonFragmentPlan(PlanNode root, Metadata metadata, FunctionManager functionManager, Session session) static StringPlanPrinter.jsonLogicalPlan(PlanNode plan, Session session, Metadata metadata, FunctionManager functionManager, StatsAndCosts estimatedStatsAndCosts) static StringPlanPrinter.textLogicalPlan(PlanNode plan, Metadata metadata, FunctionManager functionManager, StatsAndCosts estimatedStatsAndCosts, Session session, int level, boolean verbose) static StringPlanPrinter.textLogicalPlan(PlanNode plan, Metadata metadata, FunctionManager functionManager, StatsAndCosts estimatedStatsAndCosts, Session session, int level, boolean verbose, Optional<NodeVersion> version) -
Uses of PlanNode in io.trino.sql.planner.sanity
Methods in io.trino.sql.planner.sanity with parameters of type PlanNodeModifier and TypeMethodDescriptionvoidDynamicFiltersChecker.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidNoDuplicatePlanNodeIdsChecker.validate(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidPlanSanityChecker.Checker.validate(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidTableExecuteStructureValidator.validate(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidTableScanValidator.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidTypeValidator.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidValidateAggregationsWithDefaultValues.validate(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) static voidvoidValidateDependenciesChecker.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidValidateScaledWritersUsage.validate(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidValidateStreamingAggregations.validate(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidVerifyNoFilteredAggregations.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidVerifyOnlyOneOutputNode.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidVerifyUseConnectorNodePartitioningSet.validate(PlanNode plan, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidPlanSanityChecker.validateAdaptivePlan(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidPlanSanityChecker.validateFinalPlan(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector) voidPlanSanityChecker.validateIntermediatePlan(PlanNode planNode, Session session, PlannerContext plannerContext, WarningCollector warningCollector)