| chooseLevels(RexNode[], int, int[], int[]) |  | 0% |  | 0% | 24 | 24 | 68 | 68 | 1 | 1 |
| execute() |  | 0% |  | 0% | 23 | 23 | 58 | 58 | 1 | 1 |
| createProgramForLevel(int, int, RelDataType, RexNode[], int[], int[], int[], int, RelDataType) |  | 0% |  | 0% | 14 | 14 | 38 | 38 | 1 | 1 |
| traceLevelExpressions(RexNode[], int[], int[], int) |  | 0% |  | 0% | 7 | 7 | 16 | 16 | 1 | 1 |
| computeTopologicalOrdering(RexNode[], List) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| CalcRelSplitter(Calc, RelBuilder, CalcRelSplitter.RelType[]) |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| deriveFieldName(RexNode, int) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| canImplement(LogicalCalc, String) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| count(boolean[]) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| findCohort(List, int) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| identityArray(int) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| indexOf(int, int[]) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| firstSet(boolean[]) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| handle(RelNode) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCohorts() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |