| resolveNamedExpression(NamedExpression, PullUpProjectExprUnderTopN.CollectorContext, Set) |   | 68% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| simplifyProject(LogicalProject, List, PullUpProjectExprUnderTopN.CollectorContext) |   | 98% |   | 93% | 2 | 16 | 1 | 38 | 0 | 1 |
| rewriteRoot(Plan, JobContext) |   | 95% |   | 66% | 2 | 4 | 1 | 10 | 0 | 1 |
| canPullUp(NamedExpression) |   | 94% |   | 91% | 1 | 7 | 1 | 12 | 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 |
| lambda$canPullUp$2(TreeNode) |   | 83% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| addUpperProject(LogicalTopN, PullUpProjectExprUnderTopN.PullUpInfo, PullUpProjectExprUnderTopN.CollectorContext) |  | 99% |   | 92% | 1 | 8 | 0 | 29 | 0 | 1 |
| addPassThroughSlots(List, Set, Set, Map, List) |  | 97% |   | 83% | 1 | 4 | 0 | 8 | 0 | 1 |
| collectFromNode(Plan, PullUpProjectExprUnderTopN.PullUpInfo, Set) |  | 100% |   | 95% | 1 | 13 | 0 | 29 | 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 |
| 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$4(NamedExpression, NamedExpression) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$deduplicatePullUps$5(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$deduplicatePullUps$3(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 |