| toDigest() |  | 0% |  | n/a | 1 | 1 | 5 | 5 | 1 | 1 | 
| withChildrenAndTheirOutputs(List, List) |   | 95% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 | 
| constructReplaceMap() |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 | 
| toString() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| computeUnique(DataTrait.Builder) |  | 100% |   | 75% | 1 | 3 | 0 | 8 | 0 | 1 | 
| computeUniform(DataTrait.Builder) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 | 
| computeEqualSet(DataTrait.Builder) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 | 
| computeFd(DataTrait.Builder) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 | 
| withGroupExpression(Optional) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| withGroupExprLogicalPropChildren(Optional, Optional, List) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| withNewOutputs(List) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| withChildren(List) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| LogicalIntersect(SetOperation.Qualifier, List, List, Optional, Optional, List) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| LogicalIntersect(SetOperation.Qualifier, List, List, List) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| LogicalIntersect(SetOperation.Qualifier, List) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| accept(PlanVisitor, Object) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |