| enforceSortAndDistribution(PhysicalProperties, PhysicalProperties) |   | 51% |   | 33% | 3 | 4 | 5 | 11 | 0 | 1 |
| enforceGlobalSort(PhysicalProperties, PhysicalProperties) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| enforceDistributionButMeetSort(PhysicalProperties, PhysicalProperties) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| enforceProperty(PhysicalProperties, PhysicalProperties) |   | 85% |   | 83% | 2 | 7 | 2 | 11 | 0 | 1 |
| addEnforcerUpdateCost(GroupExpression, PhysicalProperties, PhysicalProperties) |  | 100% |   | 50% | 1 | 2 | 0 | 14 | 0 | 1 |
| enforceDistribution(PhysicalProperties, PhysicalProperties) |  | 100% |  | 100% | 0 | 2 | 0 | 10 | 0 | 1 |
| enforceLocalSort(PhysicalProperties, PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| EnforceMissingPropertiesHelper(ConnectContext, GroupExpression, Cost) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| getCurTotalCost() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |