| OlapTableSink.java |  | 0% |  | 0% | 162 | 163 | 490 | 491 | 37 | 38 | 0 | 1 |
| OlapScanNode.java |   | 32% |   | 27% | 231 | 272 | 499 | 779 | 49 | 76 | 0 | 1 |
| PlanNode.java |   | 21% |   | 8% | 172 | 208 | 371 | 492 | 60 | 94 | 0 | 1 |
| ScanNode.java |   | 8% |   | 2% | 158 | 167 | 318 | 351 | 37 | 46 | 2 | 3 |
| HashJoinNode.java |   | 13% |   | 8% | 84 | 88 | 166 | 194 | 19 | 22 | 0 | 2 |
| GroupCommitPlanner.java |  | 0% |  | 0% | 44 | 44 | 149 | 149 | 13 | 13 | 1 | 1 |
| RuntimeFilter.java |   | 30% |   | 13% | 76 | 92 | 138 | 206 | 31 | 45 | 0 | 2 |
| SortNode.java |  | 0% |  | 0% | 53 | 53 | 127 | 127 | 20 | 20 | 1 | 1 |
| RangePartitionPrunerV2.java |  | 0% |  | 0% | 51 | 51 | 122 | 122 | 16 | 16 | 2 | 2 |
| AggregationNode.java |   | 16% |   | 11% | 29 | 37 | 102 | 131 | 14 | 20 | 0 | 1 |
| AnalyticEvalNode.java |  | 0% |  | 0% | 23 | 23 | 93 | 93 | 6 | 6 | 1 | 1 |
| PlanFragment.java |   | 41% |   | 26% | 61 | 96 | 94 | 189 | 24 | 55 | 0 | 1 |
| NestedLoopJoinNode.java |   | 7% |   | 16% | 39 | 42 | 78 | 80 | 9 | 11 | 0 | 1 |
| DataPartition.java |   | 18% |   | 16% | 40 | 48 | 90 | 112 | 9 | 15 | 2 | 3 |
| DataStreamSink.java |   | 7% |  | 0% | 46 | 48 | 94 | 107 | 23 | 25 | 0 | 1 |
| SchemaScanNode.java |  | 0% |  | 0% | 29 | 29 | 82 | 82 | 14 | 14 | 1 | 1 |
| IcebergTableSink.java |  | 0% |  | 0% | 28 | 28 | 87 | 87 | 7 | 7 | 2 | 2 |
| TVFTableSink.java |  | 0% |  | 0% | 26 | 26 | 81 | 81 | 9 | 9 | 1 | 1 |
| ListPartitionPrunerV2.java |   | 28% |   | 12% | 35 | 46 | 86 | 116 | 17 | 26 | 0 | 2 |
| PartitionSortNode.java |  | 0% |  | 0% | 20 | 20 | 73 | 73 | 3 | 3 | 1 | 1 |
| SetOperationNode.java |   | 21% |  | 5% | 21 | 29 | 61 | 86 | 4 | 11 | 0 | 1 |
| BackendPartitionedSchemaScanNode.java |  | 0% |  | 0% | 16 | 16 | 73 | 73 | 8 | 8 | 1 | 1 |
| MaterializationNode.java |  | 0% |  | 0% | 16 | 16 | 67 | 67 | 11 | 11 | 1 | 1 |
| PartitionPrunerV2Base.java |   | 17% |   | 14% | 29 | 33 | 78 | 92 | 15 | 19 | 2 | 3 |
| ResultFileSink.java |  | 0% |  | 0% | 21 | 21 | 59 | 59 | 13 | 13 | 1 | 1 |
| TableFunctionNode.java |  | 0% |  | 0% | 15 | 15 | 53 | 53 | 5 | 5 | 1 | 1 |
| HiveTableSink.java |   | 57% |   | 37% | 18 | 28 | 56 | 136 | 2 | 11 | 0 | 2 |
| PartitionColumnFilter.java |   | 14% |  | 6% | 17 | 23 | 41 | 54 | 2 | 8 | 0 | 1 |
| DataGenScanNode.java |  | 0% |  | 0% | 15 | 15 | 44 | 44 | 9 | 9 | 1 | 1 |
| RepeatNode.java |  | 0% |  | 0% | 10 | 10 | 33 | 33 | 8 | 8 | 1 | 1 |
| ExportSink.java |  | 0% |  | 0% | 9 | 9 | 35 | 35 | 6 | 6 | 1 | 1 |
| DictionarySink.java |  | 0% |  | 0% | 12 | 12 | 43 | 43 | 9 | 9 | 1 | 1 |
| MaxComputeTableSink.java |  | 0% |  | 0% | 14 | 14 | 37 | 37 | 6 | 6 | 1 | 1 |
| FileLoadScanNode.java |  | 0% |  | 0% | 11 | 11 | 34 | 34 | 5 | 5 | 2 | 2 |
| Planner.java |  | 7% |  | 0% | 15 | 18 | 42 | 46 | 6 | 9 | 0 | 1 |
| IcebergMergeSink.java |   | 59% |   | 50% | 13 | 23 | 31 | 83 | 1 | 7 | 0 | 2 |
| ExchangeNode.java |   | 42% |  | 10% | 19 | 25 | 27 | 52 | 10 | 15 | 0 | 1 |
| AssertNumRowsNode.java |  | 0% |  | 0% | 8 | 8 | 30 | 30 | 5 | 5 | 1 | 1 |
| TabletLoadIndexRecorderMgr.java |  | 12% |  | 0% | 10 | 12 | 25 | 30 | 7 | 9 | 1 | 2 |
| JoinNodeBase.java |   | 42% |   | 36% | 16 | 18 | 21 | 38 | 6 | 8 | 0 | 1 |
| RecursiveCteNode.java |  | 0% | | 0% | 9 | 9 | 26 | 26 | 8 | 8 | 1 | 1 |
| BaseExternalTableDataSink.java |   | 31% |   | 26% | 18 | 23 | 26 | 40 | 5 | 8 | 0 | 1 |
| PartitionPruneV2ForShortCircuitPlan.java |  | 13% |  | 0% | 9 | 11 | 21 | 26 | 6 | 8 | 0 | 1 |
| ColumnRange.java |  | 0% |  | 0% | 17 | 17 | 24 | 24 | 10 | 10 | 1 | 1 |
| MultiCastDataSink.java |  | 0% | | 0% | 9 | 9 | 21 | 21 | 8 | 8 | 1 | 1 |
| RangeMap.java |  | 11% |  | 0% | 10 | 11 | 19 | 21 | 4 | 5 | 1 | 2 |
| MysqlTableSink.java |  | 0% | | n/a | 5 | 5 | 18 | 18 | 5 | 5 | 1 | 1 |
| ResultSink.java |   | 31% |  | 16% | 8 | 10 | 18 | 29 | 5 | 7 | 0 | 1 |
| RecursiveCteScanNode.java |  | 0% | | 0% | 7 | 7 | 17 | 17 | 6 | 6 | 1 | 1 |
| JoinCostEvaluation.java |   | 74% |   | 66% | 5 | 16 | 8 | 44 | 0 | 7 | 0 | 1 |
| GroupCommitBlockSink.java |  | 18% |   | 50% | 8 | 9 | 18 | 23 | 4 | 5 | 0 | 1 |
| DataSink.java |  | 12% |  | 0% | 9 | 11 | 15 | 19 | 4 | 6 | 0 | 1 |
| HashDistributionPruner.java |   | 75% |   | 59% | 10 | 20 | 12 | 53 | 0 | 4 | 0 | 1 |
| IcebergDeleteSink.java |   | 75% |   | 60% | 8 | 17 | 12 | 57 | 1 | 7 | 0 | 2 |
| SelectNode.java |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 5 | 5 | 1 | 1 |
| ColumnBound.java |  | 25% |  | 0% | 7 | 10 | 11 | 16 | 4 | 7 | 0 | 1 |
| MultiCastPlanFragment.java |  | 0% | | n/a | 4 | 4 | 11 | 11 | 4 | 4 | 1 | 1 |
| BlackholeSink.java |  | 0% | | n/a | 5 | 5 | 12 | 12 | 5 | 5 | 1 | 1 |
| GroupCommitScanNode.java |  | 0% | | n/a | 6 | 6 | 12 | 12 | 6 | 6 | 1 | 1 |
| CTEScanNode.java | | 0% | | n/a | 6 | 6 | 8 | 8 | 6 | 6 | 1 | 1 |
| RuntimeFilterId.java | | 56% | | n/a | 2 | 6 | 2 | 6 | 2 | 6 | 0 | 2 |
| PlanNodeId.java | | 66% | | n/a | 1 | 5 | 1 | 5 | 1 | 5 | 0 | 2 |
| PlanFragmentId.java | | 66% | | n/a | 1 | 5 | 1 | 5 | 1 | 5 | 0 | 2 |
| ExceptNode.java | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| ScanContext.java |  | 82% | | 50% | 3 | 10 | 1 | 13 | 0 | 7 | 0 | 2 |
| UnionNode.java | | 43% | | n/a | 2 | 3 | 3 | 5 | 2 | 3 | 0 | 1 |
| IntersectNode.java | | 54% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
| RuntimeFilterGenerator.java |  | 92% | | n/a | 1 | 2 | 1 | 10 | 1 | 2 | 1 | 2 |
| EmptySetNode.java | | 86% | | 50% | 2 | 4 | 1 | 7 | 1 | 3 | 0 | 1 |
| DistributedPlanColocateRule.java | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| PlannerContext.java | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |