| getExplainPlan(ConnectContext) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| buildMergePlan(ConnectContext, LogicalPlan, List, IcebergExternalTable) |   | 70% |   | 50% | 3 | 4 | 5 | 17 | 0 | 1 |
| buildUpdateSelectItems(Map, List, String) |   | 79% |   | 80% | 2 | 6 | 3 | 17 | 0 | 1 |
| run(ConnectContext, StmtExecutor) |   | 73% |   | 50% | 1 | 2 | 2 | 12 | 0 | 1 |
| getRowIdColumnExpr(LogicalPlan) |   | 54% |   | 25% | 2 | 3 | 3 | 5 | 0 | 1 |
| getPhysicalMergeSink(NereidsPlanner) |   | 69% |   | 50% | 2 | 3 | 2 | 8 | 0 | 1 |
| accept(PlanVisitor, Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$executeMergePlan$0(LogicalPlan, ConnectContext, StmtExecutor, IcebergExternalTable) |   | 96% |   | 50% | 2 | 3 | 1 | 24 | 0 | 1 |
| IcebergUpdateCommand(List, String, List, LogicalPlan, DeleteCommandContext) |   | 88% |   | 50% | 1 | 2 | 0 | 7 | 0 | 1 |
| getDeleteCtx() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| childIsEmptyRelation(PhysicalSink) |   | 88% |   | 50% | 3 | 4 | 0 | 2 | 0 | 1 |
| stmtType() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| buildMergeProjectPlan(ConnectContext, LogicalPlan, List, List, String) |  | 100% |  | 100% | 0 | 4 | 0 | 19 | 0 | 1 |
| executeWithExternalTableBatchModeDisabled(ConnectContext, Callable) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| executeMergePlan(ConnectContext, StmtExecutor, IcebergExternalTable, LogicalPlan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |