)]}'
{
  "commit": "6bff4f26319d7f7028b110f7196cc9143606c7bc",
  "tree": "1a02100d43cc3b5a0cc697c7ff6d33c863f1ca20",
  "parents": [
    "b33570beac3ccaa3686ff7f81e08ec993e098189"
  ],
  "author": {
    "name": "suxiaogang",
    "email": "suxiaogang223@icloud.com",
    "time": "Fri Jul 03 16:52:18 2026 +0800"
  },
  "committer": {
    "name": "suxiaogang",
    "email": "suxiaogang223@icloud.com",
    "time": "Fri Jul 03 16:52:18 2026 +0800"
  },
  "message": "[test](regression) Add Spark comparison for Paimon write regression\n\n### What problem does this PR solve?\n\nIssue Number: close #xxx\n\nRelated PR: #xxx\n\nProblem Summary: Paimon write regression cases compared results through fixed Doris output checks, which made Spark-side consistency coverage harder to maintain. This change switches the Paimon write regression case to the Spark/Doris result comparison helpers, enables Paimon external table insert routing through Nereids, and passes full sink output column names to the BE Paimon JNI writer so partial inserts can write rows with default-filled columns correctly.\n\n### Release note\n\nNone\n\n### Check List (For Author)\n\n- Test: Regression test\n    - `./run-regression-test.sh --run -d external_table_p0/paimon/write -s test_paimon_write_basic`\n- Behavior changed: No\n- Does this need documentation: No\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76409281944d8caf807fe03bf63ca8ed6e8e5b7b",
      "old_mode": 33188,
      "old_path": "be/src/exec/sink/writer/paimon/vpaimon_jni_table_writer.cpp",
      "new_id": "78fc59654214f3dca06c0b48e42647eac5a2eaaa",
      "new_mode": 33188,
      "new_path": "be/src/exec/sink/writer/paimon/vpaimon_jni_table_writer.cpp"
    },
    {
      "type": "modify",
      "old_id": "31e291be216b961f86c8880f66d6fa8181f7dc62",
      "old_mode": 33188,
      "old_path": "fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java",
      "new_id": "6809bbdcfce02f357d0db38a39c8cac5193973fc",
      "new_mode": 33188,
      "new_path": "fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java"
    },
    {
      "type": "modify",
      "old_id": "fa5e34046d1c800391e007b4c861415da4cfcc3c",
      "old_mode": 33188,
      "old_path": "fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertUtils.java",
      "new_id": "4400e0b00c9422a0ce0f03eafe036d45231e65eb",
      "new_mode": 33188,
      "new_path": "fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertUtils.java"
    },
    {
      "type": "modify",
      "old_id": "581813e7ed8c274ffe1c2edea919d891be620c3b",
      "old_mode": 33188,
      "old_path": "fe/fe-core/src/main/java/org/apache/doris/planner/PaimonTableSink.java",
      "new_id": "bec43606d18a83cb5e5c204def8a8e48b427a08c",
      "new_mode": 33188,
      "new_path": "fe/fe-core/src/main/java/org/apache/doris/planner/PaimonTableSink.java"
    },
    {
      "type": "modify",
      "old_id": "8726c0ddc02e399d74daccddea69a2453dc950b3",
      "old_mode": 33188,
      "old_path": "regression-test/suites/external_table_p0/paimon/write/test_paimon_write_basic.groovy",
      "new_id": "abe21b04af4856eafe7605707236a046180d7f72",
      "new_mode": 33188,
      "new_path": "regression-test/suites/external_table_p0/paimon/write/test_paimon_write_basic.groovy"
    }
  ]
}
