Class DistinctAggregationStrategyChooser
java.lang.Object
io.trino.sql.planner.iterative.rule.DistinctAggregationStrategyChooser
Controls which implementation of distinct aggregation should be used for particular
AggregationNode-
Constructor Summary
ConstructorsConstructorDescriptionDistinctAggregationStrategyChooser(TaskCountEstimator taskCountEstimator, Metadata metadata) -
Method Summary
Modifier and TypeMethodDescriptioncreateDistinctAggregationStrategyChooser(TaskCountEstimator taskCountEstimator, Metadata metadata) booleanshouldAddMarkDistinct(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) booleanshouldSplitToSubqueries(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) booleanshouldUsePreAggregate(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup)
-
Constructor Details
-
DistinctAggregationStrategyChooser
-
-
Method Details
-
createDistinctAggregationStrategyChooser
public static DistinctAggregationStrategyChooser createDistinctAggregationStrategyChooser(TaskCountEstimator taskCountEstimator, Metadata metadata) -
shouldAddMarkDistinct
public boolean shouldAddMarkDistinct(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) -
shouldUsePreAggregate
public boolean shouldUsePreAggregate(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup) -
shouldSplitToSubqueries
public boolean shouldSplitToSubqueries(AggregationNode aggregationNode, Session session, StatsProvider statsProvider, Lookup lookup)
-