| expressionContainsStringLength(Expression) |   | 71% |   | 57% | 4 | 8 | 3 | 11 | 0 | 1 |
| buildColumnAccessPaths(Slot, Multimap) |   | 94% |   | 80% | 2 | 6 | 1 | 19 | 0 | 1 |
| lambda$containsVariant$2(AtomicBoolean, TreeNode) |   | 85% |   | 62% | 3 | 5 | 3 | 11 | 0 | 1 |
| shouldSkipAccessInfo(Slot, DataType, List) |  | 94% |   | 80% | 2 | 6 | 1 | 8 | 0 | 1 |
| pruneDataType(Map) |  | 100% |   | 96% | 1 | 14 | 0 | 74 | 0 | 1 |
| rewriteRoot(Plan, JobContext) |  | 100% |   | 85% | 2 | 8 | 0 | 25 | 0 | 1 |
| expressionContainsNullCheck(Expression) |  | 100% |  | 100% | 0 | 8 | 0 | 10 | 0 | 1 |
| retainPredicatePathsInFinalAllAccessPaths(List, List) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| lambda$containsNullCheck$3(AtomicBoolean, TreeNode) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| lambda$containsStringLength$0(AtomicBoolean, TreeNode) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| containsStringLength(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| containsVariant(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| containsNullCheck(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$pruneDataType$4(Pair) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$pruneDataType$6(Slot, ColumnAccessPathType, Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$pruneDataType$5(Slot, ColumnAccessPathType, Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsVariant$1(Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| NestedColumnPruning() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |