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, TypeProvider types, boolean replicated, int estimatedSourceDistributedTaskCount) CostCalculator.calculateCost(PlanNode node, StatsProvider stats, CostProvider sourcesCosts, Session session, TypeProvider types) Calculates cumulative cost of a node.CostCalculatorUsingExchanges.calculateCost(PlanNode node, StatsProvider stats, CostProvider sourcesCosts, Session session, TypeProvider types) CostCalculatorWithEstimatedExchanges.calculateCost(PlanNode node, StatsProvider stats, CostProvider sourcesCosts, Session session, TypeProvider types) static LocalCostEstimateCostCalculatorWithEstimatedExchanges.calculateJoinCostWithoutOutput(PlanNode probe, PlanNode build, StatsProvider stats, TypeProvider types, boolean replicated, int estimatedSourceDistributedTaskCount) static LocalCostEstimateCostCalculatorWithEstimatedExchanges.calculateJoinInputCost(PlanNode probe, PlanNode build, StatsProvider stats, TypeProvider types, boolean replicated, int estimatedSourceDistributedTaskCount) ComposableStatsCalculator.calculateStats(PlanNode node, StatsProvider sourceStats, Lookup lookup, Session session, TypeProvider types, TableStatsProvider tableStatsProvider) StatsCalculator.calculateStats(PlanNode node, StatsProvider sourceStats, Lookup lookup, Session session, TypeProvider types, TableStatsProvider tableStatsProvider) 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, Metadata metadata, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator) EffectivePredicateExtractor.extract(Session session, PlanNode node, TypeProvider types, TypeAnalyzer typeAnalyzer) 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, TypeProvider types, PartitioningScheme partitioningScheme, List<PlanNodeId> partitionedSourceOrder, OutputBuffer outputBuffer) LocalExecutionPlanner.plan(TaskContext taskContext, PlanNode plan, List<Symbol> outputLayout, TypeProvider types, 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, TypeProvider types, StatsAndCosts statsAndCosts) PlanFragment(PlanFragmentId id, PlanNode root, Map<Symbol, Type> symbols, PartitioningHandle partitioning, Optional<Integer> partitionCount, List<PlanNodeId> partitionedSources, PartitioningScheme outputPartitioningScheme, StatsAndCosts statsAndCosts, List<CatalogProperties> activeCatalogs, List<LanguageScalarFunctionData> 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) IterativeOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) 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.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) 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, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) 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, TypeProvider types, Session session, TableScanNode node, Set<Symbol> referencedOutputs) PushAggregationIntoTableScan.pushAggregationIntoTableScan(PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, 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, SymbolAllocator symbolAllocator, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, StatsProvider statsProvider, DomainTranslator domainTranslator) PushProjectionThroughJoin.pushProjectionThroughJoin(PlannerContext plannerContext, ProjectNode projectNode, Lookup lookup, PlanNodeIdAllocator planNodeIdAllocator, Session session, TypeAnalyzer typeAnalyzer, TypeProvider types) 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, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) PushAggregationIntoTableScan.pushAggregationIntoTableScan(PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, 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 with type parameters of type PlanNodeModifier and TypeMethodDescriptionPlanNodeSearcher.findAll()Return a list of matching nodes ordered as in pre-order traversal of the plan tree.PlanNodeSearcher.findFirst()<T extends PlanNode>
TPlanNodeSearcher.findOnlyElement()Methods in io.trino.sql.planner.optimizations that return PlanNodeModifier and TypeMethodDescriptionPlanNodeDecorrelator.DecorrelatedNode.getNode()AddExchanges.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) AddLocalExchanges.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) BeginTableWrite.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) CheckSubqueryNodesAreRewritten.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) DeterminePartitionCount.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) HashGenerationOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) IndexJoinOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) LimitPushDown.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) MetadataQueryOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) OptimizeMixedDistinctAggregations.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) PlanOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) PredicatePushDown.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) StatsRecordingPlanOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) TransformQuantifiedComparisonApplyToCorrelatedJoin.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) UnaliasSymbolReferences.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) WindowFilterPushDown.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) PlanNodeSearcher.removeAll()PlanNodeSearcher.removeFirst()PlanNodeSearcher.replaceAll(PlanNode newPlanNode) PlanNodeSearcher.replaceFirst(PlanNode newPlanNode) 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, TypeProvider types, TypeAnalyzer typeAnalyzer) StreamPropertyDerivations.deriveProperties(PlanNode node, StreamPropertyDerivations.StreamProperties inputProperties, PlannerContext plannerContext, Session session, TypeProvider types, TypeAnalyzer typeAnalyzer) StreamPropertyDerivations.deriveProperties(PlanNode node, List<StreamPropertyDerivations.StreamProperties> inputProperties, PlannerContext plannerContext, Session session, TypeProvider types, TypeAnalyzer typeAnalyzer) static ActualPropertiesPropertyDerivations.derivePropertiesRecursively(PlanNode node, PlannerContext plannerContext, Session session, TypeProvider types, TypeAnalyzer typeAnalyzer) StreamPropertyDerivations.derivePropertiesRecursively(PlanNode node, PlannerContext plannerContext, Session session, TypeProvider types, TypeAnalyzer typeAnalyzer) 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) AddExchanges.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) AddLocalExchanges.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) BeginTableWrite.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) CheckSubqueryNodesAreRewritten.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) DeterminePartitionCount.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) HashGenerationOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) IndexJoinOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) LimitPushDown.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) MetadataQueryOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) OptimizeMixedDistinctAggregations.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) PlanOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) PredicatePushDown.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) StatsRecordingPlanOptimizer.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) TransformQuantifiedComparisonApplyToCorrelatedJoin.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) UnaliasSymbolReferences.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) WindowFilterPushDown.optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector, PlanOptimizersStatsCollector planOptimizersStatsCollector, TableStatsProvider tableStatsProvider) 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, TypeProvider types, TypeAnalyzer typeAnalyzer) 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) -
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(PlannerContext plannerContext, PlanNode plan, Lookup lookup, PlanNodeIdAllocator planNodeIdAllocator, Session session, TypeAnalyzer typeAnalyzer, TypeProvider types) 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 TypeClassDescriptionclassclassclassclassFor 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 childrenSemiJoinNode.getFilteringSource()IndexJoinNode.getIndexSource()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()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()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 TypeMethodDescriptionAggregationNode.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 PlanNodeModifierConstructorDescriptionAggregationNode(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, Assignments subqueryAssignments, List<Symbol> correlation, Node originSubquery) AssignUniqueId(PlanNodeId id, PlanNode source, Symbol idColumn) CorrelatedJoinNode(PlanNodeId id, PlanNode input, PlanNode subquery, List<Symbol> correlation, CorrelatedJoinNode.Type 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, 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) 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, PatternRecognitionRelation.RowsPerMatch rowsPerMatch, Optional<IrLabel> skipToLabel, SkipTo.Position skipToPosition, boolean initial, IrRowPattern pattern, Map<IrLabel, Set<IrLabel>> subsets, Map<IrLabel, LogicalIndexExtractor.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, JoinNode.Type joinType, Optional<Expression> filter) 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, TypeProvider types) static StringPlanPrinter.jsonFragmentPlan(PlanNode root, Map<Symbol, Type> symbols, Metadata metadata, FunctionManager functionManager, Session session) static StringPlanPrinter.jsonLogicalPlan(PlanNode plan, Session session, TypeProvider types, Metadata metadata, FunctionManager functionManager, StatsAndCosts estimatedStatsAndCosts) static StringPlanPrinter.textLogicalPlan(PlanNode plan, TypeProvider types, Metadata metadata, FunctionManager functionManager, StatsAndCosts estimatedStatsAndCosts, Session session, int level, boolean verbose) static StringPlanPrinter.textLogicalPlan(PlanNode plan, TypeProvider types, 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 TypeMethodDescriptionvoidAllFunctionsResolved.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidDynamicFiltersChecker.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidNoDuplicatePlanNodeIdsChecker.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidNoIdentifierLeftChecker.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidNoSubqueryExpressionLeftChecker.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidPlanSanityChecker.Checker.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidSugarFreeChecker.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidTableExecuteStructureValidator.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidTableScanValidator.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidTypeValidator.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidValidateAggregationsWithDefaultValues.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) static voidvoidValidateDependenciesChecker.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidValidateScaledWritersUsage.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidValidateStreamingAggregations.validate(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidVerifyNoFilteredAggregations.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidVerifyOnlyOneOutputNode.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidVerifyUseConnectorNodePartitioningSet.validate(PlanNode plan, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidPlanSanityChecker.validateFinalPlan(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector) voidPlanSanityChecker.validateIntermediatePlan(PlanNode planNode, Session session, PlannerContext plannerContext, TypeAnalyzer typeAnalyzer, TypeProvider types, WarningCollector warningCollector)