| handleJoinSide(LogicalJoin, boolean, boolean) |   | 84% |   | 80% | 2 | 6 | 5 | 21 | 0 | 1 |
| findSourceExpression(SlotReference, LogicalProject) |   | 78% |   | 50% | 3 | 5 | 3 | 8 | 0 | 1 |
| lambda$buildRules$15(LogicalJoin) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildRules$13(LogicalJoin) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$handleJoinSide$18(LogicalFilter, LogicalOlapScan) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| collectMatchesNeedingPushDown(Expression, LogicalProject, Set, Map, Map) |   | 97% |   | 75% | 3 | 7 | 3 | 30 | 0 | 1 |
| buildRules() |  | 100% | | n/a | 0 | 1 | 0 | 41 | 0 | 1 |
| handleFilterSide(LogicalFilter, boolean, boolean) |  | 100% |  | 100% | 0 | 5 | 0 | 21 | 0 | 1 |
| buildVirtualColumnsFromList(List, LogicalProject, LogicalOlapScan, Set) |  | 100% |  | 100% | 0 | 5 | 0 | 18 | 0 | 1 |
| replaceMatch(Expression, Map) |  | 100% |   | 90% | 1 | 6 | 0 | 13 | 0 | 1 |
| containsMatch(Expression) |  | 100% |  | 100% | 0 | 4 | 0 | 7 | 0 | 1 |
| lambda$collectMatchesNeedingPushDown$20(SlotReference) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| hasMatchInSet(Set) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasMatchInList(List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$11(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$9(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$7(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$5(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$3(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$1(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$handleFilterSide$16(LogicalFilter, LogicalOlapScan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$14(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$12(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$10(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$8(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$6(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$4(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$2(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRules$0(LogicalFilter) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| PushDownMatchPredicateAsVirtualColumn() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| canPushDown(LogicalOlapScan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$handleJoinSide$19(LogicalOlapScan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$handleFilterSide$17(LogicalOlapScan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |