| buildInsertProjection(MergeNotMatchedClause, List, ConnectContext, DataType, IcebergWriteSchemaContext) |   | 64% |   | 61% | 10 | 18 | 13 | 45 | 0 | 1 |
| getExplainPlan(ConnectContext) |  | 0% |  | 0% | 2 | 2 | 15 | 15 | 1 | 1 |
| buildUpdateProjection(MergeMatchedClause, Expression, List, ConnectContext, IcebergWriteSchemaContext) |   | 75% |   | 81% | 3 | 9 | 5 | 37 | 0 | 1 |
| buildMergeProjectPlan(ConnectContext, IcebergExternalTable, IcebergWriteSchemaContext) |   | 90% |   | 82% | 4 | 15 | 4 | 48 | 0 | 1 |
| coerceVariantActionProjections(List, List) |   | 80% |   | 85% | 2 | 8 | 3 | 21 | 0 | 1 |
| buildMergePlan(ConnectContext, IcebergExternalTable, IcebergWriteSchemaContext) |   | 80% |   | 75% | 2 | 5 | 4 | 20 | 0 | 1 |
| run(ConnectContext, StmtExecutor) |   | 75% |   | 50% | 1 | 2 | 2 | 17 | 0 | 1 |
| getPhysicalMergeSink(NereidsPlanner) |   | 69% |   | 50% | 2 | 3 | 2 | 8 | 0 | 1 |
| generateFinalProjections(List, List, List) |   | 94% |   | 75% | 3 | 7 | 1 | 16 | 0 | 1 |
| generateBranchLabel(Expression) |   | 96% |   | 93% | 1 | 9 | 1 | 19 | 0 | 1 |
| accept(PlanVisitor, Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildMergePlan$3() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildMergePlan$2() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| IcebergMergeCommand(List, Optional, Optional, LogicalPlan, Expression, List, List) |   | 93% |   | 50% | 1 | 2 | 1 | 15 | 0 | 1 |
| injectRowIdColumn(LogicalPlan, IcebergExternalTable) |   | 55% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| lambda$executeMergePlan$5(LogicalPlan, ConnectContext, StmtExecutor, IcebergExternalTable, IcebergWriteSchemaContext) |   | 97% |   | 75% | 1 | 3 | 1 | 28 | 0 | 1 |
| getRowIdColumn(IcebergExternalTable) |  | 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 |
| buildDeleteProjection(Expression, List) |  | 100% |  | 100% | 0 | 4 | 0 | 11 | 0 | 1 |
| generateBasePlan() |  | 100% |   | 75% | 1 | 3 | 0 | 8 | 0 | 1 |
| executeWithExternalTableBatchModeDisabled(ConnectContext, Callable) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| getTargetRowLineageSlot(String) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| executeMergePlan(ConnectContext, StmtExecutor, IcebergExternalTable, LogicalPlan, IcebergWriteSchemaContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTargetTable(ConnectContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getTargetRowIdSlot() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$coerceVariantActionProjections$0(Column) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| lambda$buildMergePlan$4(MergeMatchedClause) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$buildMergeProjectPlan$1(MergeMatchedClause) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |