| translateToLegacyExpr(Expression, TableIf, ConnectContext) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| tableCollect(String, ConnectContext) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| checkSlotFrom(Plan, SlotReference) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| distinct(Plan) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| isColumnRef(Expression) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1 |
| getTableSet(LogicalPlan) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| tryMergeProjections(List, List) |   | 35% |  | 0% | 1 | 2 | 4 | 5 | 0 | 1 |
| getLogicalScanFromRootPlan(LogicalPlan) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| PlanUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| maybeCommuteComparisonPredicate(ComparisonPredicate, Plan) |   | 91% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
| fastGetChildrenOutputs(List) |  | 100% |  | 100% | 0 | 5 | 0 | 13 | 0 | 1 |
| fastGetChildrenAsteriskOutputs(List) |  | 100% |  | 100% | 0 | 5 | 0 | 13 | 0 | 1 |
| fastGetInputSlots(List) |  | 100% |  | 100% | 0 | 5 | 0 | 13 | 0 | 1 |
| adjustNullableForRepeat(List, List) |  | 100% |  | 100% | 0 | 2 | 0 | 11 | 0 | 1 |
| canMergeWithProjections(List, List) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| skipProjectFilterLimit(Plan) |  | 100% |   | 62% | 3 | 5 | 0 | 3 | 0 | 1 |
| lambda$canMergeWithProjections$1(Set, Set, TreeNode) |  | 100% |  | 100% | 0 | 4 | 0 | 1 | 0 | 1 |
| lambda$adjustNullableForRepeat$0(Set, Expression) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| filterOrSelf(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| projectOrSelf(List, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| filter(Set, Plan) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| project(List, Plan) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| mergeProjections(List, List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| replaceExpressionByProjections(List, List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$canMergeWithProjections$2(Set, Set, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |