| checkProjectUseless(LogicalAggregate) |    | 85% |    | 50% | 4 | 5 | 4 | 13 | 0 | 1 | 
| checkUnion(LogicalUnion) |    | 82% |    | 62% | 3 | 5 | 2 | 7 | 0 | 1 | 
| doPush(LogicalAggregate) |    | 98% |    | 91% | 1 | 7 | 1 | 37 | 0 | 1 | 
| lambda$replaceExpressionByUnionAll$2(Map, List, Expression) |    | 96% |    | 70% | 3 | 6 | 1 | 9 | 0 | 1 | 
| lambda$replaceExpressionByUnionAll$1(Map, List, Expression) |    | 88% |    | 50% | 2 | 3 | 1 | 3 | 0 | 1 | 
| buildRules() |   | 100% |  | n/a | 0 | 1 | 0 | 9 | 0 | 1 | 
| lambda$doPush$0(NamedExpression, Expression) |   | 100% |    | 75% | 1 | 3 | 0 | 4 | 0 | 1 | 
| removeProjectAndPush(LogicalAggregate) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| checkAgg(LogicalAggregate) |   | 100% |   | 100% | 0 | 3 | 0 | 4 | 0 | 1 | 
| lambda$hasUnsuportedAggFunc$5(TreeNode) |   | 100% |   | 100% | 0 | 3 | 0 | 5 | 0 | 1 | 
| replaceExpressionByUnionAll(List, Map, List) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| hasUnsuportedAggFunc(LogicalAggregate) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$checkProjectUseless$4(Slot, Expression) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| PushCountIntoUnionAll() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$checkAgg$3(TreeNode) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |