| turnOffPreAgg(AggregateInfo, SelectStmt, Analyzer, PlanNode) |   | 15% |   | 13% | 86 | 91 | 190 | 237 | 0 | 1 |
| createScanNode(Analyzer, TableRef, SelectStmt) |   | 19% |   | 7% | 31 | 32 | 49 | 67 | 0 | 1 |
| pushDownAggNoGrouping(AggregateInfo, SelectStmt, Analyzer, PlanNode) |   | 6% |   | 6% | 38 | 40 | 65 | 70 | 0 | 1 |
| createSelectPlan(SelectStmt, Analyzer, long) |   | 52% |   | 37% | 32 | 40 | 45 | 103 | 0 | 1 |
| createQueryPlan(QueryStmt, Analyzer, long, long) |   | 31% |   | 29% | 20 | 23 | 42 | 64 | 0 | 1 |
| getPredicatesBoundedByGroupbysSourceExpr(List, Analyzer, SelectStmt) |  | 0% |  | 0% | 17 | 17 | 44 | 44 | 1 | 1 |
| createInlineViewPlan(Analyzer, InlineViewRef) |   | 35% |   | 31% | 9 | 12 | 23 | 37 | 0 | 1 |
| createJoinPlan(Analyzer, TableRef, List) |   | 69% |   | 74% | 11 | 26 | 11 | 77 | 0 | 1 |
| createSetOperationPlan(SetOperationStmt, Analyzer, long, long) |   | 59% |   | 53% | 20 | 28 | 23 | 64 | 0 | 1 |
| migrateConstantConjuncts(InlineViewRef, List) |  | 3% |  | 7% | 7 | 8 | 24 | 26 | 0 | 1 |
| createConstantSelectPlan(SelectStmt, Analyzer) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| createSetOperationPlan(Analyzer, SetOperationStmt, List, PlanNode, long, long) |   | 60% |   | 53% | 13 | 18 | 16 | 44 | 0 | 1 |
| selectMaterializedView(QueryStmt, Analyzer) |   | 61% |   | 57% | 8 | 15 | 29 | 58 | 0 | 1 |
| migrateNonconstantConjuncts(InlineViewRef, List, Analyzer) |   | 30% |   | 25% | 4 | 5 | 17 | 26 | 0 | 1 |
| getWindowsPushDownPredicates(List, List, AnalyticInfo, List) |  | 0% |  | 0% | 6 | 6 | 16 | 16 | 1 | 1 |
| materializeInlineViewResultExprForCrossJoinOrCountStar(InlineViewRef, Analyzer) |   | 48% |   | 33% | 8 | 10 | 19 | 35 | 0 | 1 |
| createEmptyNode(PlanNode, QueryStmt, Analyzer) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| createCheapestJoinPlan(Analyzer, List) |   | 62% |   | 59% | 8 | 12 | 9 | 29 | 0 | 1 |
| createResultTupleDescriptor(SelectStmt, String, Analyzer) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| getHashLookupJoinConjuncts(Analyzer, PlanNode, PlanNode, List, Reference, JoinOperator) |   | 73% |   | 42% | 10 | 14 | 10 | 35 | 0 | 1 |
| replacePredicateSlotRefWithSource(Expr, Expr, int, Analyzer) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| pushDownPredicatesPastSort(Analyzer, SelectStmt) |   | 29% |   | 25% | 8 | 9 | 12 | 14 | 0 | 1 |
| putPredicatesOnTargetTupleIds(List, Analyzer, List) |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| pushDownPredicatesPastWindows(Analyzer, SelectStmt) |  | 13% |  | 10% | 5 | 6 | 10 | 13 | 0 | 1 |
| getPushDownPredicatesForInlineView(InlineViewRef, List, Analyzer, List) |   | 57% |   | 50% | 6 | 8 | 7 | 21 | 0 | 1 |
| pushDownPredicatesPastAggregationOnePhase(AggregateInfo, Analyzer, SelectStmt, List) |  | 17% |   | 30% | 4 | 6 | 11 | 13 | 0 | 1 |
| createRepeatNodePlan(SelectStmt, Analyzer, PlanNode) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| createTableFunctionNode(Analyzer, PlanNode, List, SelectStmt) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| createTableRefNode(Analyzer, TableRef, SelectStmt) |   | 60% |   | 50% | 6 | 9 | 5 | 18 | 0 | 1 |
| getPredicatesReplacedSlotWithSourceExpr(List, Analyzer) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| createAggregationPlan(SelectStmt, Analyzer, PlanNode) |   | 58% |   | 50% | 2 | 3 | 6 | 14 | 0 | 1 |
| unmarkCollectionSlots(QueryStmt) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| freshTPushAggOpByName(String, TPushAggOp) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| addUnassignedConjuncts(Analyzer, List, PlanNode) |   | 44% |   | 50% | 2 | 3 | 5 | 10 | 0 | 1 |
| addUnassignedConjuncts(Analyzer, PlanNode) |   | 41% | | 50% | 1 | 2 | 4 | 8 | 0 | 1 |
| createJoinNodeBase(Analyzer, PlanNode, PlanNode, TableRef) |   | 88% |   | 58% | 4 | 7 | 2 | 28 | 0 | 1 |
| createAssertRowCountNode(PlanNode, AssertNumRowsElement, Analyzer) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| putPredicatesOnAggregation(SelectStmt, Analyzer, List) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| putPredicatesOnWindows(SelectStmt, Analyzer, List) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getBoundPredicates(Analyzer, TupleDescriptor) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| createSingleNodePlan() |   | 79% |   | 50% | 4 | 5 | 1 | 14 | 0 | 1 |
| migrateConjunctsToInlineView(Analyzer, InlineViewRef) |   | 70% |  | 25% | 2 | 3 | 3 | 11 | 0 | 1 |
| getNormalizedEqPred(Expr, List, List, Analyzer) |  | 86% |   | 50% | 7 | 8 | 4 | 14 | 0 | 1 |
| cloneExprs(List) | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| replacePredicateSlotRefWithSource(Expr, Analyzer) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$createQueryPlan$0(Set, ScanNode) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$cloneExprs$1(List, Expr) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| materializeSlotForEmptyMaterializedTableRef(TableRef, Analyzer) |  | 93% |   | 75% | 3 | 7 | 1 | 16 | 0 | 1 |
| lambda$getPredicatesBoundedByGroupbysSourceExpr$4(Expr, Expr) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| pushDownPredicatesPastAggregation(Analyzer, SelectStmt) |  | 91% |  | 75% | 1 | 3 | 0 | 10 | 0 | 1 |
| canMigrateConjuncts(InlineViewRef) |  | 88% |   | 60% | 4 | 6 | 0 | 5 | 0 | 1 |
| getPlannerContext() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getScanNodes() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$createSetOperationPlan$3(Expr) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| candidateCardinalityIsSmaller(PlanNode, long, PlanNode, long) |  | 94% |   | 57% | 6 | 8 | 1 | 8 | 0 | 1 |
| materializeTableResultForCrossJoinOrCountStar(TableRef, Analyzer) |  | 91% |   | 66% | 2 | 4 | 1 | 6 | 0 | 1 |
| createUnionPartialSetOperationPlan(Analyzer, SetOperationStmt, List, PlanNode, long, long) |  | 100% |  | 100% | 0 | 6 | 0 | 20 | 0 | 1 |
| createJoinNode(Analyzer, PlanNode, TableRef, SelectStmt) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| pushDownPredicates(Analyzer, SelectStmt) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| SingleNodePlanner(PlannerContext) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| createJoinNode(Analyzer, PlanNode, PlanNode, TableRef) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$createScanNode$2(Analyzer) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |