Uses of Class
io.trino.sql.planner.plan.AggregationNode
Packages that use AggregationNode
Package
Description
-
Uses of AggregationNode in io.trino.cost
Subclasses with type arguments of type AggregationNode in io.trino.costMethods in io.trino.cost that return types with arguments of type AggregationNodeMethods in io.trino.cost with parameters of type AggregationNodeModifier and TypeMethodDescriptionprotected Optional<PlanNodeStatsEstimate> AggregationStatsRule.doCalculate(AggregationNode node, StatsCalculator.Context context) -
Uses of AggregationNode in io.trino.sql.planner.iterative.rule
Subclasses with type arguments of type AggregationNode in io.trino.sql.planner.iterative.ruleClasses in io.trino.sql.planner.iterative.rule that implement interfaces with type arguments of type AggregationNodeModifier and TypeClassDescriptionclassAdds INTERMEDIATE aggregations between an un-grouped FINAL aggregation and its preceding PARTIAL aggregation.classImplements filtered aggregations by transforming plans of the following shape:classTransforms plans of the following shape:classImplements distinct aggregations with different inputs by transforming plans of the following shape:classFor empty aggregations duplicate input rows can be skipped.classclassRule that transforms selected aggregations from:classclassA count over a subquery can be reduced to a VALUES(1) provided the subquery is a scalarclassclassclassclassThis optimizer pushes aggregations below outer joins when: the aggregation is on top of the outer join, it groups by all columns in the outer table, and the outer rows are guaranteed to be distinct.classclassclassclassRemoves DISTINCT only aggregation, when the input source is already distinct over a subset of the grouping keys as a result of another aggregation.classRe-writes spatial_partitioning(geometry) aggregations into spatial_partitioning(envelope, partition_count) on top of ST_Envelope(geometry) projection, e.g.classclassImplements distinct aggregations with similar inputs by transforming plans of the following shape:Methods in io.trino.sql.planner.iterative.rule that return types with arguments of type AggregationNodeModifier and TypeMethodDescriptionAddIntermediateAggregations.getPattern()ImplementFilteredAggregations.getPattern()MultipleDistinctAggregationsToSubqueries.getPattern()MultipleDistinctAggregationToMarkDistinct.getPattern()OptimizeDuplicateInsensitiveJoins.getPattern()OptimizeMixedDistinctAggregations.getPattern()PreAggregateCaseAggregations.getPattern()PruneAggregationSourceColumns.getPattern()PruneCountAggregationOverScalar.getPattern()PruneDistinctAggregation.getPattern()PruneOrderByInAggregation.getPattern()PushAggregationIntoTableScan.getPattern()PushAggregationThroughOuterJoin.getPattern()PushPartialAggregationThroughExchange.getPattern()PushPartialAggregationThroughJoin.getPattern()RemoveEmptyGlobalAggregation.getPattern()RemoveRedundantDistinctAggregation.getPattern()RewriteSpatialPartitioningAggregation.getPattern()SimplifyCountOverConstant.getPattern()SingleDistinctAggregationToGroupBy.getPattern()Methods in io.trino.sql.planner.iterative.rule with parameters of type AggregationNodeModifier and TypeMethodDescriptionstatic booleanSingleDistinctAggregationToGroupBy.allDistinctAggregates(AggregationNode aggregationNode) AddIntermediateAggregations.apply(AggregationNode aggregation, Captures captures, Rule.Context context) ImplementFilteredAggregations.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) MultipleDistinctAggregationsToSubqueries.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) MultipleDistinctAggregationToMarkDistinct.apply(AggregationNode parent, Captures captures, Rule.Context context) OptimizeDuplicateInsensitiveJoins.apply(AggregationNode aggregation, Captures captures, Rule.Context context) OptimizeMixedDistinctAggregations.apply(AggregationNode node, Captures captures, Rule.Context context) PreAggregateCaseAggregations.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) PruneAggregationSourceColumns.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) PruneCountAggregationOverScalar.apply(AggregationNode parent, Captures captures, Rule.Context context) PruneDistinctAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) PruneOrderByInAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) PushAggregationIntoTableScan.apply(AggregationNode node, Captures captures, Rule.Context context) PushAggregationThroughOuterJoin.apply(AggregationNode aggregation, Captures captures, Rule.Context context) PushPartialAggregationThroughExchange.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) PushPartialAggregationThroughJoin.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) RemoveEmptyGlobalAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) RemoveRedundantDistinctAggregation.apply(AggregationNode aggregationNode, Captures captures, Rule.Context context) RewriteSpatialPartitioningAggregation.apply(AggregationNode node, Captures captures, Rule.Context context) SimplifyCountOverConstant.apply(AggregationNode parent, Captures captures, Rule.Context context) SingleDistinctAggregationToGroupBy.apply(AggregationNode aggregation, Captures captures, Rule.Context context) static booleanMultipleDistinctAggregationToMarkDistinct.canUseMarkDistinct(AggregationNode aggregationNode) static booleanOptimizeMixedDistinctAggregations.canUsePreAggregate(AggregationNode aggregationNode) static longOptimizeMixedDistinctAggregations.distinctAggregationsUniqueArgumentCount(AggregationNode aggregationNode) static booleanOptimizeMixedDistinctAggregations.hasMultipleDistincts(AggregationNode aggregationNode) static booleanMultipleDistinctAggregationsToSubqueries.isAggregationCandidateForSplittingToSubqueries(AggregationNode aggregationNode) static booleanPushFilterThroughBoolOrAggregation.isGroupedBoolOr(AggregationNode node) PruneAggregationColumns.pushDownProjectOff(Rule.Context context, AggregationNode aggregationNode, Set<Symbol> referencedOutputs) booleanDistinctAggregationStrategyChooser.shouldAddMarkDistinct(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) booleanDistinctAggregationStrategyChooser.shouldSplitToSubqueries(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) booleanDistinctAggregationStrategyChooser.shouldUsePreAggregate(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) -
Uses of AggregationNode in io.trino.sql.planner.optimizations
Methods in io.trino.sql.planner.optimizations that return AggregationNodeModifier and TypeMethodDescriptionSymbolMapper.map(AggregationNode node, PlanNode source) SymbolMapper.map(AggregationNode node, PlanNode source, PlanNodeId newNodeId) Methods in io.trino.sql.planner.optimizations with parameters of type AggregationNodeModifier and TypeMethodDescriptionSymbolMapper.map(AggregationNode node, PlanNode source) SymbolMapper.map(AggregationNode node, PlanNode source, PlanNodeId newNodeId) -
Uses of AggregationNode in io.trino.sql.planner.plan
Methods in io.trino.sql.planner.plan that return AggregationNodeModifier and TypeMethodDescriptionAggregationNode.Builder.build()static AggregationNodeAggregationNode.singleAggregation(PlanNodeId id, PlanNode source, Map<Symbol, AggregationNode.Aggregation> aggregations, AggregationNode.GroupingSetDescriptor groupingSets) Methods in io.trino.sql.planner.plan that return types with arguments of type AggregationNodeModifier and TypeMethodDescriptionstatic Pattern<AggregationNode> Patterns.aggregation()static Property<AggregationNode, Lookup, List<Symbol>> Patterns.Aggregation.groupingColumns()Patterns.Aggregation.step()Methods in io.trino.sql.planner.plan with parameters of type AggregationNodeModifier and TypeMethodDescriptionstatic AggregationNode.BuilderAggregationNode.builderFrom(AggregationNode node) PlanVisitor.visitAggregation(AggregationNode node, C context) Constructors in io.trino.sql.planner.plan with parameters of type AggregationNode