| toAntiJoin(LogicalFilter, Map) |   | 91% |   | 90% | 2 | 12 | 2 | 36 | 0 | 1 |
| isSlotComparisonBetweenChildren(ComparisonPredicate, Set, Set) |  | 97% |   | 66% | 4 | 7 | 0 | 6 | 0 | 1 |
| getAlwaysNullSlots(List, List, Set, Set) |  | 100% |   | 90% | 1 | 6 | 0 | 8 | 0 | 1 |
| rewriteRoot(Plan, JobContext) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| collectNullRejectedJoinSlots(List, Set, Set, Set) |  | 100% |  | 100% | 0 | 5 | 0 | 8 | 0 | 1 |
| getNullRejectedJoinSlots(LogicalJoin) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| visitLogicalFilter(LogicalFilter, Map) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| visit(Plan, Map) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$toAntiJoin$1(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$toAntiJoin$0(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| ConvertOuterJoinToAntiJoin() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |