| validateNotMatchedPrimaryKeys(List) |  | 0% |  | 0% | 18 | 18 | 41 | 41 | 1 | 1 |
| addCardinalityChecks(LogicalProject) |  | 0% |  | 0% | 7 | 7 | 28 | 28 | 1 | 1 |
| buildInsertProjection(MergeNotMatchedClause) |  | 0% |  | 0% | 11 | 11 | 25 | 25 | 1 | 1 |
| generateBranchLabel(Expression) |  | 0% |  | 0% | 9 | 9 | 19 | 19 | 1 | 1 |
| buildUpdateProjection(MergeMatchedClause) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| buildBranchProjections() |  | 0% |  | 0% | 7 | 7 | 15 | 15 | 1 | 1 |
| build() |  | 0% |  | 0% | 2 | 2 | 13 | 13 | 1 | 1 |
| targetPrimaryKeyName(Expression, Map) |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 1 | 1 |
| findTargetSlot(String) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| generateFinalExpression(int, List, Slot, DataType) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| qualifierEndsWith(List, List) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| generateFinalProjections(List, Slot) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| bindBranchLabel() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| buildDeleteProjection() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| PaimonMergePlanner(PaimonWriteTarget, PaimonRowChangeSpec.Merge, LogicalPlan, CascadesContext) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| targetSlot(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| unwrap(NamedExpression) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| build(PaimonWriteTarget, PaimonRowChangeSpec.Merge, LogicalPlan, CascadesContext) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$findTargetSlot$3(Slot) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$validateNotMatchedPrimaryKeys$0(Slot) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| invalidNotMatchedKeyCondition() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$findTargetSlot$2(String, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$validateNotMatchedPrimaryKeys$1() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| normalizeKeyExpression(Expression, DataType) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |