| chooseBestPlanWithRequiredMaterializations(Group, PhysicalProperties, Set, Map, CascadesContext) |  | 0% |  | 0% | 19 | 19 | 68 | 68 | 1 | 1 |
| chooseBestPlanWithRequiredGroups(Group, PhysicalProperties, Set, Map) |  | 0% |  | 0% | 18 | 18 | 62 | 62 | 1 | 1 |
| preMaterializedViewRewrite() |   | 4% |   | 6% | 8 | 9 | 34 | 36 | 0 | 1 |
| getExplainString(ExplainOptions) |   | 50% |   | 51% | 18 | 29 | 34 | 67 | 0 | 1 |
| planWithoutLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel, boolean) |   | 52% |   | 64% | 9 | 18 | 24 | 52 | 0 | 1 |
| computeReachableMvIdentifiers(Group, Map, Set) |  | 0% |  | 0% | 6 | 6 | 21 | 21 | 1 | 1 |
| computeReachableGroupIds(Group, Map) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| enforceProperties(NereidsPlanner.PlanWithCost, PhysicalProperties, boolean, Group, CascadesContext) |  | 0% |  | 0% | 12 | 12 | 19 | 19 | 1 | 1 |
| collectHboPlanInfo(String, PhysicalPlan, PlanTranslatorContext) |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
| alignChildrenDistributions(GroupExpression, List, List, CascadesContext) |  | 0% |  | 0% | 7 | 7 | 18 | 18 | 1 | 1 |
| dropUnreachableUseMvIdentifiers(StatementContext, Set, Set) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| computeRequiredUseMvIdentifiers(StatementContext) |   | 12% |   | 16% | 3 | 4 | 13 | 16 | 0 | 1 |
| findAlternativeWithProperty(Group, Set, Map) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| providesDistribution(DistributionSpec, DistributionSpec) |  | 0% |  | 0% | 9 | 9 | 12 | 12 | 1 | 1 |
| chooseGroupExpression(Group, PhysicalProperties, Set, Map) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| deriveOutputProperties(Plan, List, CascadesContext) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| markUseMvNotChosen(StatementContext, Set) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| addSort(NereidsPlanner.PlanWithCost, OrderSpec, SortPhase, Group, CascadesContext) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| calculateEnforcerCost(CascadesContext, PhysicalPlan, Group, PhysicalPlan) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| chooseBestPlanConsideringUseMv(Group, PhysicalProperties, CascadesContext) |   | 26% |   | 16% | 3 | 4 | 8 | 12 | 0 | 1 |
| reaches(GroupExpression, Set, Map) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| addExchange(NereidsPlanner.PlanWithCost, DistributionSpec, Group, CascadesContext) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| configRuntimeFilterWaitTime() |   | 69% |   | 55% | 6 | 10 | 6 | 24 | 0 | 1 |
| chooseBestPlan(Group, PhysicalProperties, CascadesContext) |   | 75% |   | 57% | 4 | 8 | 6 | 25 | 0 | 1 |
| optimize(boolean) |   | 57% |   | 75% | 2 | 7 | 6 | 17 | 0 | 1 |
| choosePlanWithEnforcer(Group, GroupExpression, PhysicalProperties, Set, Map, CascadesContext) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| getProfile(Function, Object) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| doDistribute(boolean, ExplainCommand.ExplainLevel) |   | 67% |   | 50% | 4 | 8 | 5 | 19 | 0 | 1 |
| chooseBestPlanConsideringRequiredUseMv(Group, PhysicalProperties, Set, Map, CascadesContext) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| childrenProvideProperties(List, List) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| chooseNthPlan(Group, PhysicalProperties, int) |   | 48% |   | 50% | 1 | 2 | 4 | 8 | 0 | 1 |
| chooseBestPlanWithCost(Group, PhysicalProperties, CascadesContext) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| enforceOutputProperties(NereidsPlanner.PlanWithCost, PhysicalProperties, Group, CascadesContext) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| isGlobalHashExchange(DistributionSpec) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| splitFragments(PhysicalPlan) |   | 94% |   | 90% | 3 | 16 | 5 | 70 | 0 | 1 |
| collectAndLockTable(boolean, boolean) |   | 86% |   | 95% | 1 | 11 | 5 | 34 | 0 | 1 |
| setFormatOptions() |   | 56% |   | 25% | 3 | 4 | 5 | 11 | 0 | 1 |
| providesShuffleColumns(DistributionSpec, DistributionSpec) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| enforceChildProperties(Group, NereidsPlanner.PlanWithCost, PhysicalProperties, boolean, CascadesContext) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| providesProperties(PhysicalProperties, PhysicalProperties) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| exchangeDistributionOf(PhysicalProperties, DistributionSpec) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| lambda$getTimeMetricString$16(Function, SummaryProfile) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| getScanMvIdentifiers(Plan, Set) |   | 90% |   | 55% | 7 | 10 | 3 | 30 | 0 | 1 |
| requiresAlignedChildren(Plan) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| toExchangeDistribution(DistributionSpec) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getHintExplainString(List) |   | 86% |   | 60% | 4 | 7 | 3 | 20 | 0 | 1 |
| waitForTimeBasedChangeVisibleBeforeLock() |   | 81% |  | 100% | 0 | 3 | 2 | 14 | 0 | 1 |
| getTimeMetricString(Function) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$chooseBestPlanWithRequiredMaterializations$15(Pair) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$chooseBestPlanWithCost$14(Pair) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$chooseBestPlan$13(PhysicalProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$chooseNthPlan$12(PhysicalProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$preMaterializedViewRewrite$10(CascadesContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel, boolean, Consumer) |   | 96% |   | 81% | 3 | 9 | 1 | 32 | 0 | 1 |
| plan(StatementBase, TQueryOptions) |   | 94% |   | 83% | 1 | 4 | 1 | 21 | 0 | 1 |
| getPhysicalProperties(Plan) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPhysicalRelations() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLogicalPlanAdapter() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| handleQueryInFe(StatementBase) |  | 93% |   | 83% | 1 | 4 | 1 | 10 | 0 | 1 |
| finalizeUseMvHintStatus(StatementContext, PhysicalPlan) |  | 98% |   | 78% | 3 | 8 | 1 | 20 | 0 | 1 |
| distribute(PhysicalPlan, ExplainCommand.ExplainLevel) |  | 97% |   | 93% | 1 | 9 | 1 | 9 | 0 | 1 |
| tryAddResultSetToSqlCache(ResultSet) |  | 97% |   | 66% | 2 | 4 | 1 | 11 | 0 | 1 |
| rewrite(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 11 | 0 | 1 |
| analyze(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 11 | 0 | 1 |
| addLocalExchangeAfterDistribute() |  | 100% |   | 75% | 2 | 5 | 0 | 7 | 0 | 1 |
| getGarbageCollectionTime() |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| plan(StatementBase) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| pinBeExecVersion(TQueryOptions) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$plan$0(ExplainCommand.ExplainLevel, Plan) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| NereidsPlanner(StatementContext) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| collectChosenMvIdentifiers(PhysicalPlan, Set) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getExplainLevel(ExplainOptions) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| showAnalyzeProcess(ExplainCommand.ExplainLevel, boolean) |  | 100% |   | 66% | 2 | 4 | 0 | 1 | 0 | 1 |
| showRewriteProcess(ExplainCommand.ExplainLevel, boolean) |  | 100% |   | 66% | 2 | 4 | 0 | 1 | 0 | 1 |
| keepOrShowPlanProcess(boolean, Runnable) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getConnectContext() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| showPlanProcess(ExplainOptions) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| preprocess(LogicalPlan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| initCascadesContext(LogicalPlan, PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| postProcess(PhysicalPlan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRuntimeFilters() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| appendTupleInfo(StringBuilder) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$optimize$11() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$collectAndLockTable$3() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$configRuntimeFilterWaitTime$2(LogicalCatalogRelation) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$collectAndLockTable$4() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| collectAndLockTable(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getRoot() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTopnFilters() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$rewrite$9(PlannerHook) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$rewrite$8() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$analyze$6() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setParsedPlan(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setOptimizedPlan(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setAnalyzedPlan(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$analyze$7(PlannerHook) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$analyze$5(PlannerHook) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getScanNodes() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDescTable() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCascadesContext() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStatementContext() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getParsedPlan() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAnalyzedPlan() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRewrittenPlan() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOptimizedPlan() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPhysicalPlan() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDistributedPlans() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| buildInitRequireProperties() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$planWithLock$1(Plan) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |