| buildMerge(PaimonWriteTarget, PaimonRowChangeSpec.Merge, LogicalPlan) |  | 0% |  | 0% | 7 | 7 | 26 | 26 | 1 | 1 |
| buildInsertProjection(PaimonWriteTarget, MergeNotMatchedClause) |  | 0% |  | 0% | 11 | 11 | 24 | 24 | 1 | 1 |
| buildUpdate(PaimonWriteTarget, PaimonRowChangeSpec.Update, LogicalPlan) |  | 0% |  | 0% | 8 | 8 | 23 | 23 | 1 | 1 |
| generateBranchLabel(PaimonRowChangeSpec.Merge, Expression) |  | 0% |  | 0% | 9 | 9 | 19 | 19 | 1 | 1 |
| buildUpdateProjection(PaimonWriteTarget, PaimonRowChangeSpec.Merge, MergeMatchedClause) |  | 0% |  | 0% | 6 | 6 | 18 | 18 | 1 | 1 |
| checkCapabilities(PaimonWriteTarget, PaimonRowChangeSpec) |  | 0% |  | 0% | 6 | 6 | 21 | 21 | 1 | 1 |
| generateFinalProjections(List, List) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| buildDelete(PaimonWriteTarget, PaimonRowChangeSpec.Delete, LogicalPlan) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| addTargetMatchCount(LogicalPlan, PaimonWriteTarget, List) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| build(PaimonWriteTarget, PaimonRowChangeSpec, LogicalPlan) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| findTargetSlot(LogicalPlan, List, String) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| qualifierEndsWith(List, List) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| updatedColumns(List) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| buildDeleteProjection(PaimonWriteTarget, List) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| targetPresence(PaimonWriteTarget, List) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| unwrap(NamedExpression) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| targetSlot(List, String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$findTargetSlot$1(List, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$findTargetSlot$0(String, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |