| constructReplaceMap(MTMV) |  | 0% |  | 0% | 9 | 9 | 20 | 20 | 1 | 1 |
| computeUnique(DataTrait.Builder) |   | 58% |   | 63% | 6 | 12 | 14 | 30 | 0 | 1 |
| computeOutput() |   | 60% |   | 50% | 3 | 6 | 8 | 21 | 0 | 1 |
| computeUniform(DataTrait.Builder) |   | 10% |   | 25% | 2 | 3 | 11 | 13 | 0 | 1 |
| computeEqualSet(DataTrait.Builder) |   | 10% |   | 25% | 2 | 3 | 11 | 13 | 0 | 1 |
| computeFd(DataTrait.Builder) |   | 10% |   | 25% | 2 | 3 | 11 | 13 | 0 | 1 |
| generateUniqueSlot(OlapTable, Column, boolean, long) |   | 55% |   | 50% | 4 | 7 | 8 | 16 | 0 | 1 |
| withColToSubPathsMap(Map) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| toJson() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| getSubPathToSlotMap() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$generateUniqueSlot$3(Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$computeOutput$1(Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| LogicalOlapScan(RelationId, Table, List, Optional, Optional, List, boolean, List, long, boolean, PreAggStatus, List, List, Map, Optional, boolean, Map, List) |  | 99% |   | 80% | 2 | 6 | 0 | 25 | 0 | 1 |
| equals(Object) |  | 100% |   | 75% | 7 | 15 | 0 | 15 | 0 | 1 |
| hashCode() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| toString() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getOutputByIndex(long) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| withGroupExpression(Optional) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withSelectedTabletIds(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withPreAggStatus(PreAggStatus) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withManuallySpecifiedTabletIds(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withGroupExprLogicalPropChildren(Optional, Optional, List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| withSelectedPartitionIds(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withMaterializedIndexSelected(long) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| withRelationId(RelationId) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| createSlotsVectorized(List) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| LogicalOlapScan(RelationId, OlapTable, List) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| LogicalOlapScan(RelationId, OlapTable, List, List, List, Optional) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| LogicalOlapScan(RelationId, OlapTable, List, List, List, List, Optional) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| LogicalOlapScan(RelationId, OlapTable, List, List, List, long, PreAggStatus, List, List, Optional) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getSelectedMaterializedIndexName() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| getTable() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$generateUniqueSlot$2(OlapTable, Column, String, Pair) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| LogicalOlapScan(RelationId, OlapTable) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| accept(PlanVisitor, Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeOutput$0(List, int, Pair) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isPreAggStatusUnSet() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSelectedPartitionIds() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isPartitionPruned() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSelectedTabletIds() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getManuallySpecifiedTabletIds() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSelectedIndexId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isIndexSelected() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPreAggStatus() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getManuallySpecifiedPartitions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getHints() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTableSample() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isDirectMvScan() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |