| computeCombinedSelectivity(List) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| getplanNodeExplainString(String, TExplainLevel) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| getScanNodeInOneFragmentBySlotRef(SlotRef) |   | 20% |   | 11% | 9 | 10 | 17 | 20 | 0 | 1 |
| finalize(Analyzer) |   | 40% |   | 40% | 4 | 6 | 9 | 17 | 0 | 1 |
| castConjuncts() |   | 15% |   | 25% | 2 | 3 | 7 | 9 | 0 | 1 |
| getPlanTreeExplainStr() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| applySelectivity() |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| findSrcSlotRef(SlotRef) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| debugString() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getExplainStringMap(TExplainLevel, Map) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getAllScanTupleIds() |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| splitAndCompoundPredicateToConjuncts(Expr) |   | 40% |   | 50% | 3 | 5 | 4 | 9 | 0 | 1 |
| getMaterializedIds(Analyzer, List) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getCombinedChildWithoutTupleIsNullSmap() |   | 60% |   | 50% | 3 | 4 | 4 | 11 | 0 | 1 |
| getExplainString(String, String, TExplainLevel) |   | 94% |   | 90% | 3 | 17 | 1 | 48 | 0 | 1 |
| computeSelectivity() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| computeOldSelectivity() |   | 39% |   | 25% | 2 | 3 | 4 | 7 | 0 | 1 |
| treeToThriftHelper(TPlan) |   | 93% |   | 87% | 4 | 21 | 3 | 51 | 0 | 1 |
| lambda$foreachDownInCurrentFragment$4(int, Consumer, TreeNode) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| normalizeProjects(TNormalizedPlanNode, Normalizer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| computeTupleIds() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| computeInputSlotIds(Analyzer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setLimitAndOffset(long, long) |   | 57% |   | 25% | 2 | 3 | 2 | 6 | 0 | 1 |
| setId(PlanNodeId) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getCombinedChildSmap() |   | 80% |   | 83% | 1 | 4 | 1 | 9 | 0 | 1 |
| foreachDownInCurrentFragment(Consumer) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| addConjuncts(List) |   | 50% |   | 50% | 2 | 3 | 3 | 6 | 0 | 1 |
| addPreFilterConjuncts(List) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| applyConjunctsSelectivity() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| collectInCurrentFragment(Predicate) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$collectInCurrentFragment$3(Predicate, List, PlanNode) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| assignConjuncts(Analyzer) |   | 69% |   | 75% | 1 | 3 | 2 | 8 | 0 | 1 |
| setConjuncts(Set) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| hasValidStats() |   | 71% |   | 37% | 4 | 5 | 0 | 1 | 0 | 1 |
| getExplainString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| normalize(TNormalizedPlanNode, Normalizer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getFragmentSeqenceNum() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setFragmentId(PlanFragmentId) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| resetTupleIds(ArrayList) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setAssignedConjuncts(Set) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| capCardinalityAtLimit() |   | 84% |   | 75% | 1 | 3 | 0 | 3 | 0 | 1 |
| addConjunct(Expr) |   | 82% |   | 50% | 2 | 3 | 1 | 5 | 0 | 1 |
| getCardinalityAfterFilter() |   | 72% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getOutputSlotIds() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| findPlanNodeFromPlanNodeId(PlanNode, PlanNodeId) |  | 94% |   | 75% | 3 | 7 | 1 | 10 | 0 | 1 |
| getExplainString(List) |  | 93% |   | 83% | 1 | 4 | 1 | 8 | 0 | 1 |
| hasOffset() |  | 77% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getWithoutTupleIsNullOutputSmap() |  | 77% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getShouldColoScan() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| pushDownAggNoGrouping(FunctionCallExpr) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| pushDownAggNoGroupingCheckCol(FunctionCallExpr, Column) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| convertConjunctsToAndCompoundPredicate(List) |  | 98% |   | 87% | 1 | 5 | 0 | 12 | 0 | 1 |
| getTupleIds() |  | 90% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| getNullableTupleIds() |  | 90% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| computeOldCardinality() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| init() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setShouldColoScan() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| finalizeForNereids() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| PlanNode(PlanNodeId, PlanNode, String, StatisticalType) |  | 100% | | n/a | 0 | 1 | 0 | 26 | 0 | 1 |
| normalize(Normalizer) |  | 100% | | n/a | 0 | 1 | 0 | 22 | 0 | 1 |
| PlanNode(PlanNodeId, List, String, StatisticalType) |  | 100% | | n/a | 0 | 1 | 0 | 23 | 0 | 1 |
| PlanNode(PlanNodeId, String, StatisticalType) |  | 100% | | n/a | 0 | 1 | 0 | 22 | 0 | 1 |
| normalizeProjects(Map, Normalizer) |  | 100% |  | 100% | 0 | 3 | 0 | 13 | 0 | 1 |
| normalizeProjects(List, List, Normalizer) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| getRuntimeFilterExplainString(boolean, boolean) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| appendTrace(StringBuilder) |  | 100% |  | 100% | 0 | 4 | 0 | 11 | 0 | 1 |
| toString() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| computeStats(Analyzer) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| normalizeExprs(Collection, Normalizer) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| getChildrenStats() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| createDefaultSmap(Analyzer) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| setCompactData(boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| setLimit(long) |  | 100% |   | 66% | 2 | 4 | 0 | 3 | 0 | 1 |
| computeTupleStatAndMemLayout(Analyzer) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| getOutputTupleIds() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| projectOutputTuple() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| initOutputSlotIds(Set, Analyzer) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasSerialChildren() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| computeNumNodes() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| hasSerialScanChildren() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| clearTupleIds() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| transferConjuncts(PlanNode) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$treeToThriftHelper$2(TPlanNode, List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| hasLimit() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| treeToThrift() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| init(Analyzer) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| normalizeConjuncts(TNormalizedPlanNode, Normalizer) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getNumInstances() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| addRuntimeFilter(RuntimeFilter) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| addIntermediateOutputTupleDescList(TupleDescriptor) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| addIntermediateProjectList(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$treeToThriftHelper$0(TPlanNode, TupleDescriptor) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRuntimeFilterExplainString(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setStatsDeriveResult(StatsDeriveResult) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPlanNodeName(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getFragmentId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setFragment(PlanFragment) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setOffset(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setCardinality(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| unsetLimit() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setTblRefIds(ArrayList) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setOutputSmap(ExprSubstitutionMap, Analyzer) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setWithoutTupleIsNullOutputSmap(ExprSubstitutionMap) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setNumInstances(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| clearRuntimeFilters() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setOutputTupleDesc(TupleDescriptor) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setProjectList(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setCardinalityAfterFilter(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPushDownAggNoGrouping(TPushAggOp) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setChildrenDistributeExprLists(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setNereidsId(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPlanNodeName() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStatsDeriveResult() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStatisticalType() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFragment() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLimit() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOffset() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCardinality() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNumNodes() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAvgRowSize() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTblRefIds() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputTblRefIds() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getConjuncts() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAssignedConjuncts() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputSmap() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRuntimeFilters() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputTupleDesc() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getProjectList() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPushDownAggNoGroupingOp() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$treeToThriftHelper$1(Expr) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNodeExplainString(String, TExplainLevel) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isSerialOperator() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |