| bindLoadProject(MatchingContext) |  | 0% |  | 0% | 10 | 10 | 46 | 46 | 1 | 1 |
| bindHaving(MatchingContext) |   | 25% |   | 7% | 7 | 8 | 23 | 31 | 0 | 1 |
| bindTableValuedFunction(MatchingContext) |  | 0% |  | 0% | 3 | 3 | 16 | 16 | 1 | 1 |
| bindGenerate(MatchingContext) |   | 72% |   | 54% | 9 | 13 | 10 | 43 | 0 | 1 |
| bindPreFilter(MatchingContext) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| bindSetOperation(LogicalSetOperation) |   | 66% |   | 75% | 3 | 7 | 6 | 24 | 0 | 1 |
| bindQualifyProject(MatchingContext) |   | 65% |   | 50% | 2 | 4 | 7 | 17 | 0 | 1 |
| lambda$checkConflictAlias$7(Set, String) |   | 18% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| bindSortWithoutSetOperation(MatchingContext) |   | 86% |   | 56% | 4 | 9 | 4 | 28 | 0 | 1 |
| getDbName(Plan) |   | 60% |   | 75% | 1 | 3 | 2 | 7 | 0 | 1 |
| bindProject(MatchingContext) |   | 92% |   | 94% | 1 | 10 | 2 | 48 | 0 | 1 |
| bindRepeat(MatchingContext) |   | 92% |   | 92% | 1 | 8 | 1 | 46 | 0 | 1 |
| bindInlineTable(MatchingContext) |   | 79% |   | 83% | 1 | 4 | 1 | 12 | 0 | 1 |
| processNonStandardAggregate(List, Collection) |   | 65% |   | 62% | 2 | 5 | 1 | 9 | 0 | 1 |
| adjustProjectionAggNullable(List) |   | 78% |   | 62% | 2 | 5 | 1 | 11 | 0 | 1 |
| lambda$bindQualifyByAggregate$20(Scope, Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |   | 82% |   | 66% | 2 | 4 | 1 | 8 | 0 | 1 |
| lambda$bindLoadProject$15(StatementContext, List, Pair) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$bindLoadProject$14(BindExpression.SimpleExprAnalyzer, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$bindLoadProject$13(BindExpression.SimpleExprAnalyzer, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| bindUsingJoin(MatchingContext) |  | 98% |   | 75% | 1 | 3 | 0 | 21 | 0 | 1 |
| bindHavingByScopes(LogicalHaving, Plan, CascadesContext, Scope, Supplier) |  | 97% |   | 83% | 1 | 4 | 0 | 14 | 0 | 1 |
| lambda$checkConflictAlias$8(Consumer, boolean, TreeNode) |  | 95% |   | 83% | 1 | 4 | 0 | 11 | 0 | 1 |
| bindWithOrdinal(Expression, BindExpression.SimpleExprAnalyzer, List) |  | 94% |   | 75% | 2 | 5 | 1 | 7 | 0 | 1 |
| buildRules() |  | 100% | | n/a | 0 | 1 | 0 | 48 | 0 | 1 |
| bindHavingAggregate(MatchingContext) |  | 100% |  | 100% | 0 | 3 | 0 | 22 | 0 | 1 |
| bindAggregate(MatchingContext) |  | 100% |  | 100% | 0 | 4 | 0 | 26 | 0 | 1 |
| bindJoin(MatchingContext) |  | 100% |  | 100% | 0 | 4 | 0 | 24 | 0 | 1 |
| bindQualifyByAggregate(Aggregate, CascadesContext, LogicalQualify, ImmutableSet.Builder) |  | 100% |  | 100% | 0 | 3 | 0 | 16 | 0 | 1 |
| bindResultSink(MatchingContext) |  | 100% |  | 100% | 0 | 3 | 0 | 13 | 0 | 1 |
| bindFilter(MatchingContext) |  | 100% |  | 100% | 0 | 5 | 0 | 16 | 0 | 1 |
| bindQualifyByProject(LogicalProject, CascadesContext, LogicalQualify, ImmutableSet.Builder) |  | 100% |  | 100% | 0 | 3 | 0 | 14 | 0 | 1 |
| bindGroupByUniqueId(List) |  | 100% |   | 91% | 1 | 7 | 0 | 21 | 0 | 1 |
| getBelowAggregateGroupByUniqueFuncReplaceMap(Plan) |  | 100% |   | 94% | 1 | 10 | 0 | 15 | 0 | 1 |
| checkIfOutputAliasNameDuplicatedForGroupBy(Collection, List) |  | 100% |  | 100% | 0 | 7 | 0 | 15 | 0 | 1 |
| bindSortWithSetOperation(MatchingContext) |  | 100% |  | 100% | 0 | 2 | 0 | 10 | 0 | 1 |
| bindGroupBy(Aggregate, List, List, Supplier, CascadesContext) |  | 100% |  | 100% | 0 | 2 | 0 | 9 | 0 | 1 |
| getAnalyzerForOrderByAggFunc(Plan, CascadesContext, LogicalSort, Supplier, Scope) |  | 100% |  | 100% | 0 | 4 | 0 | 11 | 0 | 1 |
| lambda$buildAggOutputScopeWithoutAggFun$25(List, CascadesContext) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| lambda$bindGroupBy$24(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 4 | 0 | 13 | 0 | 1 |
| lambda$bindHavingAggregate$4(Scope, Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 1 |
| bindQualifyHaving(MatchingContext) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| lambda$bindQualifyByAggregate$21(Aggregate, CascadesContext, Scope, Supplier) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| lambda$bindHavingAggregate$5(Aggregate, CascadesContext, Scope, Supplier) |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| bindExprsUniqueIdWithGroupBy(List, List) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| bindOneRowRelation(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| bindQualifyAggregate(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| getGroupByUniqueFuncReplaceMap(List) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| buildSimpleExprAnalyzer(Plan, CascadesContext, List) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| lambda$getAnalyzerForOrderByAggFunc$33(Plan, Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| bindExprUniqueIdWithGroupBy(Expression, Map) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| lambda$hasAggregateFunction$31(FunctionRegistry, TreeNode) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| exceptStarSlots(Set, BoundStar) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| lambda$bindSortWithoutSetOperation$27(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| buildCustomSlotBinderAnalyzer(Plan, CascadesContext, Scope, boolean, boolean, BindExpression.CustomSlotBinderAnalyzer) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| toScope(CascadesContext, List, List) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| toScope(CascadesContext, List) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$bindQualifyByProject$17(Supplier, Scope, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$bindHavingByScopes$6(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| checkConflictAlias(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| lambda$bindQualifyByAggregate$19(CascadesContext, Aggregate) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$adjustProjectionAggNullable$12(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| lambda$bindHavingAggregate$3(CascadesContext, Aggregate) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| toSqlWithBackquote(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$exceptStarSlots$22(Set, Slot) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isAggregateFunction(UnboundFunction, FunctionRegistry) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$bindSortWithoutSetOperation$26(CascadesContext, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindQualifyByProject$16(CascadesContext, LogicalProject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindProject$11(StatementContext, List, Pair) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$bindHaving$1(CascadesContext, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| buildAggOutputScopeWithoutAggFun(List, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindSetOperation$0(List, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasAggregateFunction(Expression, FunctionRegistry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildCustomSlotBinderAnalyzer$29(ExpressionAnalyzer, ExpressionRewriteContext, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildSimpleExprAnalyzer$28(ExpressionAnalyzer, ExpressionRewriteContext, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindQualifyByAggregate$18(Scope, ExpressionAnalyzer, UnboundSlot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindHavingAggregate$2(Scope, ExpressionAnalyzer, UnboundSlot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| bindSubqueryAlias(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$toSqlWithBackquote$30(Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindAggregate$23(BindExpression.SimpleExprAnalyzer, List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindProject$10(BindExpression.SimpleExprAnalyzer, List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindProject$9(BindExpression.SimpleExprAnalyzer, List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| BindExpression() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getAnalyzerForOrderByAggFunc$32(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |