| buildInsertProjection(MergeNotMatchedClause, List, ConnectContext, ExternalTable, DataType) |   | 61% |   | 50% | 13 | 17 | 17 | 46 | 0 | 1 |
| buildDeleteProjection(Expression, List) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| buildUpdateProjection(MergeMatchedClause, Expression, List, ConnectContext, ExternalTable) |   | 74% |   | 68% | 5 | 9 | 10 | 36 | 0 | 1 |
| buildMergeProjectPlan(ConnectContext, ExternalTable) |   | 82% |   | 58% | 8 | 13 | 6 | 45 | 0 | 1 |
| generateBranchLabel(Expression) |   | 72% |   | 50% | 6 | 9 | 6 | 21 | 0 | 1 |
| buildMergePlan(ConnectContext, ExternalTable) |   | 68% |   | 37% | 4 | 5 | 4 | 18 | 0 | 1 |
| getTargetRowLineageSlot(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getTargetTable(ConnectContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| generateBasePlan() |   | 74% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| ExternalRowLevelMergePlanBuilder(List, Optional, Optional, LogicalPlan, Expression, List, List) |   | 88% |   | 50% | 1 | 2 | 1 | 14 | 0 | 1 |
| generateFinalProjections(List, List, List) |   | 94% |   | 75% | 3 | 7 | 1 | 16 | 0 | 1 |
| injectRowIdColumn(LogicalPlan, ExternalTable) |   | 55% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| lambda$buildMergePlan$0(MergeMatchedClause) |  | 85% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getTargetRowIdSlot() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |