| buildInsertProjection(MergeNotMatchedClause, List, ConnectContext, DataType) |  | 0% |  | 0% | 20 | 20 | 51 | 51 | 1 | 1 |
| buildMergeProjectPlan(ConnectContext, ExternalTable) |  | 0% |  | 0% | 12 | 12 | 40 | 40 | 1 | 1 |
| buildUpdateProjection(MergeMatchedClause, Expression, List, ConnectContext) |  | 0% |  | 0% | 9 | 9 | 32 | 32 | 1 | 1 |
| generateBranchLabel(Expression) |  | 0% |  | 0% | 9 | 9 | 19 | 19 | 1 | 1 |
| generateFinalProjections(List, List) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| IcebergMergeCommand(List, Optional, Optional, LogicalPlan, Expression, List, List) |  | 0% |  | 0% | 2 | 2 | 15 | 15 | 1 | 1 |
| buildDeleteProjection(Expression, List) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| buildMergePlan(ConnectContext, ExternalTable) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| generateBasePlan() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| getTargetRowLineageSlot(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getTargetTable(ConnectContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getTargetRowIdSlot() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| injectRowIdColumn(LogicalPlan, ExternalTable) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |