| bindLoadProject(MatchingContext) |  | 0% |  | 0% | 10 | 10 | 46 | 46 | 1 | 1 |
| rewriteProjectForDisabledFullGroupBy(Plan) |   | 63% |   | 70% | 7 | 16 | 18 | 58 | 0 | 1 |
| bindPreFilter(MatchingContext) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| bindTableValuedFunction(MatchingContext) |   | 28% |  | 0% | 2 | 3 | 10 | 16 | 0 | 1 |
| bindSetOperation(LogicalSetOperation) |   | 66% |   | 75% | 3 | 7 | 6 | 24 | 0 | 1 |
| bindSortWithoutSetOperation(MatchingContext) |   | 84% |   | 55% | 5 | 10 | 5 | 31 | 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 |
| getDbName(Plan) |   | 60% |   | 75% | 1 | 3 | 2 | 7 | 0 | 1 |
| bindProject(MatchingContext) |   | 92% |   | 94% | 1 | 10 | 2 | 49 | 0 | 1 |
| bindGenerate(MatchingContext) |   | 94% |   | 83% | 4 | 13 | 1 | 43 | 0 | 1 |
| bindInlineTable(MatchingContext) |   | 79% |   | 83% | 1 | 4 | 1 | 12 | 0 | 1 |
| processNonStandardAggregate(List, Collection) |   | 75% |   | 87% | 1 | 5 | 1 | 9 | 0 | 1 |
| lambda$bindQualifyByAggregate$19(Scope, Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |   | 82% |   | 66% | 2 | 4 | 1 | 8 | 0 | 1 |
| lambda$bindLoadProject$14(StatementContext, List, Pair) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$bindLoadProject$13(BindExpression.SimpleExprAnalyzer, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$bindLoadProject$12(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 |
| bindRepeat(MatchingContext) |  | 100% |  | 100% | 0 | 6 | 0 | 36 | 0 | 1 |
| bindHavingAggregate(MatchingContext) |  | 100% |  | 100% | 0 | 3 | 0 | 22 | 0 | 1 |
| bindAggregate(MatchingContext) |  | 100% |  | 100% | 0 | 4 | 0 | 25 | 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$bindGroupBy$23(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 4 | 0 | 12 | 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$buildAggOutputScope$24(List, CascadesContext) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| bindHaving(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| lambda$bindQualifyByAggregate$20(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 |
| 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 |
| bindOneRowRelation(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| lambda$getAnalyzerForOrderByAggFunc$32(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$30(FunctionRegistry, TreeNode) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| exceptStarSlots(Set, BoundStar) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| buildCustomSlotBinderAnalyzer(Plan, CascadesContext, Scope, boolean, boolean, BindExpression.CustomSlotBinderAnalyzer) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$bindSortWithoutSetOperation$26(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 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$16(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 |
| replaceSlotExcludeNonWindowedAggFunc(Expression, Map) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindQualifyByAggregate$18(CascadesContext, Aggregate) |  | 100% | | n/a | 0 | 1 | 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$21(Set, Slot) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isAggregateFunction(UnboundFunction, FunctionRegistry) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$bindSortWithoutSetOperation$25(CascadesContext, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindQualifyByProject$15(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 |
| buildAggOutputScope(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$28(ExpressionAnalyzer, ExpressionRewriteContext, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildSimpleExprAnalyzer$27(ExpressionAnalyzer, ExpressionRewriteContext, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindQualifyByAggregate$17(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$29(Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindAggregate$22(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$31(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |