| eliminatePrimaryOutput(LogicalAggregate, Plan, PushDownAggThroughJoinOnPkFk.PrimaryForeignInfo) |  | 0% |  | 0% | 12 | 12 | 40 | 40 | 1 | 1 |
| pushAgg(LogicalAggregate, LogicalJoin) |  | 0% |  | 0% | 11 | 11 | 28 | 28 | 1 | 1 |
| constructNewOutput(LogicalAggregate, Set, Map, List) |  | 0% |  | 0% | 9 | 9 | 16 | 16 | 1 | 1 |
| groupByDeterminesForeignKey(Set, Set, DataTrait) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| tryExtractPrimaryForeign(LogicalJoin) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| constructNewGroupBy(List, Set, Map, Set) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| lambda$buildRules$3(LogicalJoin) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1 |
| lambda$constructNewOutput$6(Map, Expression) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$buildRules$5(MatchingContext) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildRules$2(MatchingContext) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildRules$0(LogicalJoin) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| lambda$buildRules$4(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildRules$1(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| buildRules() |  | 100% | | n/a | 0 | 1 | 0 | 15 | 0 | 1 |
| PushDownAggThroughJoinOnPkFk() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |