| visitScalarSubquery(ScalarSubquery, Object) |   | 84% |   | 68% | 9 | 20 | 8 | 49 | 0 | 1 |
| validateNodeInfoList(List) |   | 89% |   | 80% | 4 | 19 | 3 | 33 | 0 | 1 |
| visitInSubquery(InSubquery, Object) |   | 92% |   | 87% | 2 | 9 | 3 | 31 | 0 | 1 |
| analyzeSubquery(SubqueryExpr) |   | 89% |   | 50% | 1 | 2 | 1 | 10 | 0 | 1 |
| visitExistsSubquery(Exists, Object) |   | 98% |   | 95% | 1 | 13 | 1 | 23 | 0 | 1 |
| validateSubquery(Plan, SubExprAnalyzer.CorrelatedSlotsValidator, List, Set) |  | 100% |  | 100% | 0 | 4 | 0 | 10 | 0 | 1 |
| rejectTheWrappersWhichTheRewriteCannotRebuild(Plan, ImmutableSet) |  | 100% |   | 91% | 1 | 7 | 0 | 11 | 0 | 1 |
| visitNot(Not, Object) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| hasTopLevelScalarAgg(SubExprAnalyzer.AnalyzedResult) |  | 100% |  | 100% | 0 | 5 | 0 | 6 | 0 | 1 |
| validateTheNodesOfTheSubqueryReadTheOuterSlotsThroughFilters(Plan, SubExprAnalyzer.CorrelatedSlotsValidator) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| theChildWhichHoldsTheOuterSlots(Plan, ImmutableSet) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| containsAWindowAboveTheCorrelatedPredicate(Plan, Set) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| subtreeReadsTheCorrelatedSlots(Plan, Set) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| containsARepeatAboveTheCorrelatedPredicate(Plan, Set) |  | 100% |   | 75% | 1 | 3 | 0 | 5 | 0 | 1 |
| containsAJoinAboveTheCorrelatedPredicate(Plan, Set) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| rejectTheLateralViewsWhichReadTheOuterSlots(Plan, ImmutableSet) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| checkRootIsLimit(SubExprAnalyzer.AnalyzedResult) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| checkOutputColumn(LogicalPlan) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| computesAWindow(Plan) |  | 100% |   | 75% | 1 | 3 | 0 | 2 | 0 | 1 |
| containsAnOuterSlot(Plan, ImmutableSet) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| checkNoCorrelatedSlotsUnderSetOp(SubExprAnalyzer.AnalyzedResult) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$readsAnOuterSlot$9(ImmutableSet, Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| SubExprAnalyzer(Scope, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$computesAWindow$2(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| readsAnOuterSlot(Plan, ImmutableSet) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsAnOuterSlot$10(ImmutableSet, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$rejectTheLateralViewsWhichReadTheOuterSlots$8(ImmutableSet, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsAJoinAboveTheCorrelatedPredicate$7(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsAJoinAboveTheCorrelatedPredicate$6(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsARepeatAboveTheCorrelatedPredicate$5(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsARepeatAboveTheCorrelatedPredicate$4(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$subtreeReadsTheCorrelatedSlots$3(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsAWindowAboveTheCorrelatedPredicate$1(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsAWindowAboveTheCorrelatedPredicate$0(Set, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getScope() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCascadesContext() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |