| getFingerprint() |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| shapeInfo() |   | 43% |   | 50% | 2 | 3 | 6 | 13 | 0 | 1 |
| computeUnique(DataTrait.Builder) |   | 57% |   | 33% | 6 | 7 | 7 | 17 | 0 | 1 |
| computeUniform(DataTrait.Builder) |   | 55% |   | 33% | 6 | 7 | 7 | 16 | 0 | 1 |
| isUniqueGroupByUnique(NamedExpression) |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| withAggOutput(List) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isUniformGroupByUnique(NamedExpression) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| equals(Object) |   | 92% |   | 56% | 7 | 9 | 2 | 9 | 0 | 1 |
| withChildren(List) |   | 97% |   | 50% | 1 | 2 | 0 | 4 | 0 | 1 |
| withGroupExprLogicalPropChildren(Optional, Optional, List) |   | 96% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| toString() |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| lambda$adjustNullableForOutputs$0(boolean, Expression) |  | 100% |  | 100% | 0 | 5 | 0 | 12 | 0 | 1 |
| PhysicalHashAggregate(List, List, Optional, AggregateParam, boolean, Optional, LogicalProperties, PhysicalProperties, Statistics, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| PhysicalHashAggregate(List, List, Optional, AggregateParam, boolean, Optional, LogicalProperties, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| hashCode() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| resetLogicalProperties() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withPhysicalPropertiesAndStats(PhysicalProperties, Statistics) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| withGroupExpression(Optional) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| getTopnPushInfo() |  | 100% |   | 75% | 1 | 3 | 0 | 4 | 0 | 1 |
| PhysicalHashAggregate(List, List, AggregateParam, boolean, LogicalProperties, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| PhysicalHashAggregate(List, List, Optional, AggregateParam, boolean, LogicalProperties, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| computeOutput() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| computeEqualSet(DataTrait.Builder) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| computeFd(DataTrait.Builder) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setTopnPushInfo(PhysicalHashAggregate.TopnPushInfo) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| accept(PlanVisitor, Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| adjustNullableForOutputs(List, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAggPhase() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAggMode() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getGroupByExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputs() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPartitionExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAggregateParam() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isMaybeUsingStream() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeUniform$4(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeUniform$3(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeUnique$2(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeUnique$1(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |