| bindHaving(MatchingContext) |   | 25% |   | 7% | 7 | 8 | 23 | 31 | 0 | 1 |
| bindTableValuedFunction(MatchingContext) |  | 0% |  | 0% | 3 | 3 | 15 | 15 | 1 | 1 |
| checkBoundExceptLambda(Expression, Plan) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| bindSortWithSetOperation(MatchingContext) |  | 0% |  | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
| bindSetOperation(LogicalSetOperation) |   | 60% |   | 66% | 4 | 7 | 7 | 21 | 0 | 1 |
| lambda$checkConflictAlias$6(Set, String) |   | 18% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| bindSortWithoutSetOperation(MatchingContext) |   | 85% |   | 56% | 4 | 9 | 4 | 26 | 0 | 1 |
| getDbName(Plan) |   | 60% |   | 75% | 1 | 3 | 2 | 7 | 0 | 1 |
| bindRepeat(MatchingContext) |   | 89% |   | 87% | 1 | 5 | 1 | 31 | 0 | 1 |
| bindGenerate(MatchingContext) |   | 92% |   | 75% | 4 | 9 | 1 | 35 | 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 |
| bindAggregate(MatchingContext) |   | 90% |   | 75% | 1 | 3 | 1 | 16 | 0 | 1 |
| lambda$checkBoundExceptLambda$16(Plan, Expression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| bindUsingJoin(MatchingContext) |   | 98% |   | 75% | 1 | 3 | 0 | 20 | 0 | 1 |
| bindHavingByScopes(LogicalHaving, Plan, CascadesContext, Scope, Supplier) |   | 96% |   | 75% | 1 | 3 | 0 | 11 | 0 | 1 |
| lambda$checkConflictAlias$7(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 | 38 | 0 | 1 |
| bindProject(MatchingContext) |  | 100% |  | 100% | 0 | 4 | 0 | 24 | 0 | 1 |
| bindJoin(MatchingContext) |  | 100% |  | 100% | 0 | 3 | 0 | 23 | 0 | 1 |
| bindHavingAggregate(MatchingContext) |  | 100% |  | 100% | 0 | 2 | 0 | 15 | 0 | 1 |
| bindResultSink(MatchingContext) |  | 100% |  | 100% | 0 | 3 | 0 | 13 | 0 | 1 |
| checkIfOutputAliasNameDuplicatedForGroupBy(Collection, List) |  | 100% |  | 100% | 0 | 7 | 0 | 15 | 0 | 1 |
| bindFilter(MatchingContext) |  | 100% |  | 100% | 0 | 2 | 0 | 12 | 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$13(List, CascadesContext) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| lambda$bindGroupBy$12(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 4 | 0 | 13 | 0 | 1 |
| lambda$bindHavingAggregate$3(Scope, Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 1 |
| lambda$bindHavingAggregate$4(Aggregate, CascadesContext, Scope, Supplier) |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| bindOneRowRelation(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| lambda$getAnalyzerForOrderByAggFunc$22(Plan, Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| lambda$hasAggregateFunction$20(FunctionRegistry, TreeNode) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| lambda$bindSortWithoutSetOperation$15(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 |
| buildSimpleExprAnalyzer(Plan, CascadesContext, Scope, boolean, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| toScope(CascadesContext, List) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$bindHavingByScopes$5(Scope, Supplier, ExpressionAnalyzer, UnboundSlot) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| buildSimpleExprAnalyzer(Plan, CascadesContext, List, boolean, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| checkConflictAlias(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| lambda$adjustProjectionAggNullable$11(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| lambda$bindProject$9(Supplier, Slot) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$bindHavingAggregate$2(CascadesContext, Aggregate) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| toSqlWithBackquote(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| isAggregateFunction(UnboundFunction, FunctionRegistry) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$bindSortWithoutSetOperation$14(CascadesContext, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindProject$10(StatementContext, List, Pair) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$bindHaving$0(CascadesContext, Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| buildAggOutputScopeWithoutAggFun(List, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasAggregateFunction(Expression, FunctionRegistry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildCustomSlotBinderAnalyzer$18(ExpressionAnalyzer, ExpressionRewriteContext, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildSimpleExprAnalyzer$17(ExpressionAnalyzer, ExpressionRewriteContext, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindProject$8(BindExpression.SimpleExprAnalyzer, LogicalProject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindHavingAggregate$1(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$19(Slot) |  | 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$21(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |