Package io.trino.cost
Class FilterProjectAggregationStatsRule
- All Implemented Interfaces:
ComposableStatsCalculator.Rule<FilterNode>
AggregationStatsRule does not have sufficient information to provide accurate estimates on aggregated symbols.
This rule finds unestimated filters on top of aggregations whose output row count was estimated and returns
estimated row count of (UNKNOWN_FILTER_COEFFICIENT * aggregation output row count) for the filter.
-
Constructor Summary
ConstructorsConstructorDescriptionFilterProjectAggregationStatsRule(StatsNormalizer normalizer, FilterStatsCalculator filterStatsCalculator) -
Method Summary
Modifier and TypeMethodDescriptionprotected Optional<PlanNodeStatsEstimate> doCalculate(FilterNode node, StatsProvider sourceStats, Lookup lookup, Session session, TypeProvider types, TableStatsProvider tableStatsProvider) Methods inherited from class io.trino.cost.SimpleStatsRule
calculate
-
Constructor Details
-
FilterProjectAggregationStatsRule
public FilterProjectAggregationStatsRule(StatsNormalizer normalizer, FilterStatsCalculator filterStatsCalculator)
-
-
Method Details
-
getPattern
-
doCalculate
protected Optional<PlanNodeStatsEstimate> doCalculate(FilterNode node, StatsProvider sourceStats, Lookup lookup, Session session, TypeProvider types, TableStatsProvider tableStatsProvider) - Specified by:
doCalculatein classSimpleStatsRule<FilterNode>
-