)]}'
{
  "commit": "b237fc6e422629a45bc2e0de8edc8fd567ef3696",
  "tree": "46bd50b69fff148da3d57d657b7d0ddbbeb481ed",
  "parents": [
    "858dc6aef2fb72bc0aa19ab092ea0b1eafc7f64f"
  ],
  "author": {
    "name": "diliulou",
    "email": "wanglei05@kuaishou.com",
    "time": "Mon Jul 27 11:55:43 2026 +0800"
  },
  "committer": {
    "name": "diliulou",
    "email": "wanglei05@kuaishou.com",
    "time": "Mon Jul 27 14:54:50 2026 +0800"
  },
  "message": "Vendor third-party dependencies via setup-vendors.sh with patch series\n\nReplace direct git/rev dependencies for datafusion, arrow-rs, orc-rust,\nand serde_json with a vendor+patch approach:\n\n- Add dev/vendors/setup-vendors.sh to clone upstream repos at pinned tags\n  and apply local patch series\n- Add patch files under dev/vendors/patches/{datafusion,arrow-rs,orc-rust,serde_json}/\n- Update Cargo.toml: use relative path patches to vendored packages,\n  exclude vendor workspaces from the main workspace\n- Update .gitignore to ignore dev/vendors/packages/\n- Update .rat-excludes for dev/vendors/**\n- Call setup-vendors.sh all from build-native.sh before cargo build\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb73bfa818674fe21c918258ed2f48b36e07f1fc",
      "old_mode": 33188,
      "old_path": ".github/workflows/rust-test.yml",
      "new_id": "341c282d6d5d2a10672a72ef28533f3f78793313",
      "new_mode": 33188,
      "new_path": ".github/workflows/rust-test.yml"
    },
    {
      "type": "modify",
      "old_id": "d9fe30991713ae351030d88d215daa4edf94eeea",
      "old_mode": 33188,
      "old_path": ".github/workflows/style.yml",
      "new_id": "6e23525c6121d0884528c451d00b51be94277bf4",
      "new_mode": 33188,
      "new_path": ".github/workflows/style.yml"
    },
    {
      "type": "modify",
      "old_id": "df61d2fa27250cef1821dba2a42a75fab73ef4b3",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "749cb7692da421892a72a84ad765d68b5eee6147",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "09a244b20738b6517787bedf329acc3283f0e425",
      "old_mode": 33188,
      "old_path": ".rat-excludes",
      "new_id": "6c2b08e1316fc14917a22de064c4b9d831807785",
      "new_mode": 33188,
      "new_path": ".rat-excludes"
    },
    {
      "type": "modify",
      "old_id": "c232f4a8785131e4994cb604e91a96d7774077a9",
      "old_mode": 33188,
      "old_path": "Cargo.lock",
      "new_id": "60f61d89fd9de7df93fb51895530ec2cbc1c92ab",
      "new_mode": 33188,
      "new_path": "Cargo.lock"
    },
    {
      "type": "modify",
      "old_id": "aff57e0097156aa4c24bb4252b40c748dd3b6045",
      "old_mode": 33188,
      "old_path": "Cargo.toml",
      "new_id": "ae9f44f473d410b7ecd543df67f752be1356b171",
      "new_mode": 33188,
      "new_path": "Cargo.toml"
    },
    {
      "type": "modify",
      "old_id": "84e06c77ac4c2640717bb37260f96ae8c871dfea",
      "old_mode": 33261,
      "old_path": "dev/mvn-build-helper/build-native.sh",
      "new_id": "89b6838a853cd687bb13423555f951c5e3b27e62",
      "new_mode": 33261,
      "new_path": "dev/mvn-build-helper/build-native.sh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2007c0490d33f932b763af3bb2e0acb7f0e3ff97",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0001-blaze-fix-NaN-comparison-semantic.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "463e0407987664dba374a12038dd19c252db3a7e",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0002-blaze-add-get_dictionary.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e26623ecfb8b24dfe63f086b8a2c0cfeafbf83c2",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0003-blaze-skip-parquet-utf-8-validating.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6066e0a17b63b6e495b3adc868d4b60a79c18ec",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0004-blaze-map-field-name-fixed-to-entries.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d72c36fb4db01707afe16bd19e20141a9c8aea00",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0005-blaze-fix-statistics-null-count-is-negative-error.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c160fce8a1e02e2fc7daaff6d9f6f6043ac53841",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0006-blaze-expose-fields-of-AsyncReader-ArrowReaderBuilder-to-pub.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa8bee6dab5216bb10901df8de97caaaf249eef6",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0007-blaze-use-bufreader-to-read-page-header-avoid-reading-in-fragments.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "45da8ae4b139659a7926154b758bf895149f7a3e",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/arrow-rs/0008-blaze-parquet-supports-processing-old-style-array-struct.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ea396fbdb764d6b57363591a86901a7b03894fa9",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0001-blaze-update-arrow-dependency.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3cd59badc14d47a62d4f6a3ce18e69f67f81a4b3",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0002-blaze-exclude-testing-submodules.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dd47a23e2dd6b5b98030556cb42bd229ea740c68",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0003-blaze-supports-parquet-scan-with-adaptive-batch-size.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "527e908dfc0940452d2d7c5080b866d4b042894d",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0004-blaze-handle-special-cases-when-pruning-float-column-with-Na.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "88c2741b4f4ab9b87521d62dd7819375d2161a5d",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0005-blaze-supports-parquet-dictionary-filtering.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "451dfb0c526ec33062034dd7141bee81d0f520be",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0006-blaze-allow-nullable-parquet-scan-partition-key.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd284c21f1b099de0d9894e8fccee1664b024c6c",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0007-blaze-make-scatter-public.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5252c2004ee5fb71d353bfacf8dbba79257f087d",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0008-blaze-use-deprecated-min-max-values-only-when-min-\u003d\u003d-max.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc1bf10fea4c2a9943494c2e410cff7f4c2cf1fb",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0009-blaze-disable-isnull-isnotnull-pruning-for-nested-data-type.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6b8747181e25dc4a58c92e089475f6ffa183487",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0010-blaze-use-case-insensitive-comparing-in-processing-parquet-f.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c470ab4b142de727877e7aa0179b56d923c4e477",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0011-blaze-supports-pruning-with-starts_with.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "290d15715944618f1f6586bd363aafbe097b1131",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0012-blaze-supports-short-circuiting-And-Or.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "260a9c4d39a6e3fab1054bea8c7aae11b17e54cf",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0013-blaze-make-parquet-reader-components-public.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "85738dd5071144603de7ab37598d9ffb1aeb0210",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0014-blaze-implement-TestMemoryExec-as-any.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dbcf4b1bc1f10a8bc93ed35c311fe585d7d2d118",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/datafusion/0015-blaze-revert-substr-to-v45.0.0-for-unsupported-string-view.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9bf85a2dda0b105e188566dcb9afb756bd8a2c10",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/orc-rust/0001-blaze-adapt-arrow-dependency-to-v55.2.0-blaze.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "39acd53467a0149fb66e230894a82d6eb0eed280",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/serde_json/0001-blaze-ignore-invalid-escape.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da70d28f0b307fb5a852cc4562b7264f7ceb00ee",
      "new_mode": 33188,
      "new_path": "dev/vendors/patches/serde_json/0002-blaze-do-not-force-escaping-control-characters.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "59a07a9e948cbc76ee14e4859bef2d3ea438aecf",
      "new_mode": 33261,
      "new_path": "dev/vendors/setup-vendors.sh"
    }
  ]
}
