| addUpperProject(LogicalTopN, PullUpProjectExprUnderTopN.PullUpInfo, PullUpProjectExprUnderTopN.CollectorContext) |   | 94% |   | 81% | 2 | 9 | 2 | 32 | 0 | 1 |
| resolveNamedExpression(NamedExpression, PullUpProjectExprUnderTopN.CollectorContext, Set) |   | 68% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| simplifyProject(LogicalProject, List, PullUpProjectExprUnderTopN.CollectorContext) |   | 98% |   | 90% | 3 | 16 | 2 | 38 | 0 | 1 |
| rewriteRoot(Plan, JobContext) |   | 95% |   | 66% | 2 | 4 | 1 | 10 | 0 | 1 |
| getPullUpReplaceExpression(Slot, PullUpProjectExprUnderTopN.CollectorContext) |   | 92% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| qualifiesForLazyMatThreshold(LogicalTopN) |   | 90% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| resolvePulledUpExpr(NamedExpression, PullUpProjectExprUnderTopN.CollectorContext, Set) |   | 89% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| addPassThroughSlots(List, Set, Set, Map, List) |  | 97% |   | 83% | 1 | 4 | 0 | 8 | 0 | 1 |
| collectFromNode(Plan, PullUpProjectExprUnderTopN.PullUpInfo, Set, PullUpProjectExprUnderTopN.CollectorContext) |  | 100% |   | 95% | 1 | 13 | 0 | 30 | 0 | 1 |
| deduplicatePullUps(PullUpProjectExprUnderTopN.CollectorContext) |  | 100% |  | 100% | 0 | 7 | 0 | 23 | 0 | 1 |
| replaceUnavailableSlots(Expression, PullUpProjectExprUnderTopN.CollectorContext, Set) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| buildOrderKeyExprIds(LogicalTopN) |  | 100% |   | 75% | 1 | 3 | 0 | 8 | 0 | 1 |
| canPullUp(NamedExpression) |  | 100% |  | 100% | 0 | 6 | 0 | 10 | 0 | 1 |
| collectAllPulledUpExprs(PullUpProjectExprUnderTopN.CollectorContext, LogicalProject) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| collectUnavailablePullUpExprs(LogicalProject, PullUpProjectExprUnderTopN.CollectorContext, Set) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| buildOutputExprIds(Plan) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| resolveExpression(Expression, PullUpProjectExprUnderTopN.CollectorContext, Set) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| isUnavailablePullUpSlot(NamedExpression, PullUpProjectExprUnderTopN.CollectorContext, Set) |  | 100% |   | 83% | 1 | 4 | 0 | 3 | 0 | 1 |
| isBlockingNode(Plan) |  | 100% |   | 83% | 1 | 4 | 0 | 1 | 0 | 1 |
| resolveInputSlots(NamedExpression, PullUpProjectExprUnderTopN.CollectorContext, Set) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| resolveInputSlots(Expression, PullUpProjectExprUnderTopN.CollectorContext, Set) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$deduplicatePullUps$3(NamedExpression, NamedExpression) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$deduplicatePullUps$4(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$deduplicatePullUps$2(LogicalProject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| PullUpProjectExprUnderTopN() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$canPullUp$1(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$canPullUp$0(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |