| visitUnion(UnionNode, PreferredProperties) |  | 0% |  | 0% | 22 | 22 | 93 | 93 | 1 | 1 |
| visitSemiJoin(SemiJoinNode, PreferredProperties) |  | 0% |  | 0% | 18 | 18 | 60 | 60 | 1 | 1 |
| planPartitionedJoin(JoinNode, List, List, AddExchanges.PlanWithProperties) |  | 0% |  | 0% | 13 | 13 | 55 | 55 | 1 | 1 |
| visitRowNumber(RowNumberNode, PreferredProperties) |  | 0% |  | 0% | 11 | 11 | 42 | 42 | 1 | 1 |
| visitTableWriter(TableWriterNode, PreferredProperties) |  | 0% |  | 0% | 11 | 11 | 26 | 26 | 1 | 1 |
| visitAggregation(AggregationNode, PreferredProperties) |  | 0% |  | 0% | 14 | 14 | 29 | 29 | 1 | 1 |
| planSortWithoutPartition(SortNode, PreferredProperties) |  | 0% |  | 0% | 6 | 6 | 26 | 26 | 1 | 1 |
| visitSpatialJoin(SpatialJoinNode, PreferredProperties) |  | 0% |  | 0% | 4 | 4 | 20 | 20 | 1 | 1 |
| visitDelete(DeleteNode, PreferredProperties) |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 1 | 1 |
| visitWindow(WindowNode, PreferredProperties) |  | 0% |  | 0% | 6 | 6 | 22 | 22 | 1 | 1 |
| planSortWithPartition(SortNode, PreferredProperties) |  | 0% |  | 0% | 5 | 5 | 20 | 20 | 1 | 1 |
| visitTopNRowNumber(TopNRowNumberNode, PreferredProperties) |  | 0% |  | 0% | 5 | 5 | 20 | 20 | 1 | 1 |
| selectUnionPartitioning(UnionNode, PreferredProperties.PartitioningProperties) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| visitIndexJoin(IndexJoinNode, PreferredProperties) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| visitMarkDistinct(MarkDistinctNode, PreferredProperties) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| AddExchanges.Rewriter(AddExchanges, PlanNodeIdAllocator, VariableAllocator, Session, PartitioningProviderManager, boolean) |  | 0% | | n/a | 1 | 1 | 17 | 17 | 1 | 1 |
| visitJoin(JoinNode, PreferredProperties) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| planReplicatedJoin(JoinNode, AddExchanges.PlanWithProperties) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| createPartitioning(Collection) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| visitTableFinish(TableFinishNode, PreferredProperties) |  | 0% |  | 0% | 2 | 2 | 15 | 15 | 1 | 1 |
| visitTopN(TopNNode, PreferredProperties) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| shouldRepartitionForIndexJoin(List, PreferredProperties, ActualProperties) |  | 0% |  | 0% | 8 | 8 | 14 | 14 | 1 | 1 |
| visitLimit(LimitNode, PreferredProperties) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| visitDistinctLimit(DistinctLimitNode, PreferredProperties) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| visitStatisticsWriterNode(StatisticsWriterNode, PreferredProperties) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| buildJoin(JoinNode, AddExchanges.PlanWithProperties, AddExchanges.PlanWithProperties, JoinDistributionType) |  | 0% | | n/a | 1 | 1 | 14 | 14 | 1 | 1 |
| visitSequence(SequenceNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 11 | 11 | 1 | 1 |
| visitExplainAnalyze(ExplainAnalyzeNode, PreferredProperties) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| planTableScan(TableScanNode, RowExpression) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| createMapping(List, List) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| visitFilter(FilterNode, PreferredProperties) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| selectExchangeScopeForPartitionedRemoteExchange(PlanNode, boolean) |  | 0% |  | 0% | 5 | 5 | 6 | 6 | 1 | 1 |
| visitOutput(OutputNode, PreferredProperties) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| deriveProperties(PlanNode, List) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1 |
| visitEnforceSingleRow(EnforceSingleRowNode, PreferredProperties) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| rebaseAndDeriveProperties(PlanNode, List) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| lambda$translateGroupIdVariables$1(GroupIdNode, VariableReferenceExpression) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| visitProject(ProjectNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getBucketCount(PartitioningHandle) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| accept(PlanNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| visitGroupId(GroupIdNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$visitTopNRowNumber$5(TopNRowNumberNode, PlanNode) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| visitSort(SortNode, PreferredProperties) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| visitApply(ApplyNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| visitLateralJoin(LateralJoinNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| planPartitionedJoin(JoinNode, List, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| visitUnnest(UnnestNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$visitDelete$7(List, OrderingScheme) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$visitWindow$3(List, OrderingScheme) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getPartitioningProvider(PartitioningHandle) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$getPartitioningProvider$10(PartitioningHandle) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| rebaseAndDeriveProperties(PlanNode, AddExchanges.PlanWithProperties) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$visitUnnest$14(UnnestNode, VariableReferenceExpression) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| visitValues(ValuesNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| visitIndexSource(IndexSourceNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| withDerivedProperties(PlanNode, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| withDerivedProperties(PlanNode, ActualProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| shouldAggregationMergePartitionPreferences(FeaturesConfig.AggregationPartitioningMergingStrategy) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$outputToInputTranslator$17(UnionNode, int, VariableReferenceExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$planSortWithPartition$8(SortNode, VariableReferenceExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| visitPlan(PlanNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| planChild(PlanNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| derivePropertiesRecursively(PlanNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$null$6(OrderingScheme, VariableReferenceExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$null$2(OrderingScheme, VariableReferenceExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isNodePartitionedOn(ActualProperties, Collection) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isStreamPartitionedOn(ActualProperties, Collection) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$shouldRepartitionForIndexJoin$16(ActualProperties, PreferredProperties.PartitioningProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitTopNRowNumber$4(PlanNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| deriveProperties(PlanNode, ActualProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$createDirectTranslator$12(SetMultimap, Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$createTranslator$11(SetMultimap, Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| visitTableScan(TableScanNode, PreferredProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitSemiJoin$15() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitJoin$13() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitSequence$9(PlanNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitProject$0(Map, VariableReferenceExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| outputToInputTranslator(UnionNode, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| translateGroupIdVariables(GroupIdNode) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createTranslator(SetMultimap) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createDirectTranslator(SetMultimap) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |