| computeFdItems(Set) |  | 0% |  | 0% | 6 | 6 | 22 | 22 | 1 | 1 | 
| getDatabase() |  | 0% |  | 0% | 5 | 5 | 16 | 16 | 1 | 1 | 
| computeOutput() |   | 73% |   | 50% | 1 | 2 | 2 | 10 | 0 | 1 | 
| LogicalCatalogRelation(RelationId, PlanType, TableIf, List) |  | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| withVirtualColumns(List) |  | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| findSlotsByColumn(Set, Set) |   | 97% |   | 75% | 2 | 5 | 1 | 9 | 0 | 1 | 
| computeUnique(DataTrait.Builder) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 | 
| LogicalCatalogRelation(RelationId, PlanType, TableIf, List, Collection, List, Optional, Optional, String) |  | 100% |  | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 
| equals(Object) |  | 100% |   | 80% | 2 | 6 | 0 | 7 | 0 | 1 | 
| LogicalCatalogRelation(RelationId, PlanType, TableIf, List, Optional, Optional) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| LogicalCatalogRelation(RelationId, PlanType, TableIf, List, Optional, Optional, String) |  | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$computeOutput$0(IdGenerator, Column) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| qualified() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| qualifiedName() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getTable() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getQualifier() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getOperativeSlots() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getVirtualColumns() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getTableAlias() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| hashCode() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| computeUniform(DataTrait.Builder) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| computeEqualSet(DataTrait.Builder) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| computeFd(DataTrait.Builder) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |