)]}'
{
  "commit": "4fa8d2ff5f18f2d773f9642631715509f844a062",
  "tree": "70d3ed4663db219278f3f3547c9b1550b3e66a88",
  "parents": [
    "c4b2569276b5da0a57a18abaf3de6e1b04676c1b"
  ],
  "author": {
    "name": "pchintar",
    "email": "89355405+pchintar@users.noreply.github.com",
    "time": "Sat Apr 25 11:52:47 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Apr 25 11:52:47 2026 -0400"
  },
  "message": "fix(ipc): replace wildcard in skip_field with explicit DataType handling (#9822)\n\n# Which issue does this PR close?\n\n- Closes #9821 .\n\n# Rationale for this change\n\n`skip_field` currently uses a wildcard match (`_`) to skip remaining\n`DataType` variants by assuming a two-buffer layout. This is not robust,\nas new variants may have different buffer layouts, leading to incorrect\nskipping and buffer misalignment.\n\nReplacing the wildcard with explicit handling ensures the correct number\nof buffers are skipped and avoids silent errors for future types.\n\n# What changes are included in this PR?\n\n* Removed the wildcard (`_`) match arm in `skip_field`\n* Added explicit handling for all remaining fixed-width and boolean\n`DataType` variants\n* Each of these types now explicitly skips:\n\n  * null buffer\n  * values buffer\n\nFile updated:\n\n* `arrow-ipc/src/reader.rs`\n\n# Are these changes tested?\n\nYes.\n\n* Added test: `test_projection_skip_fixed_width_types` in\n`arrow-ipc/src/reader.rs`\n\n* The test iterates over all fixed-width and boolean `DataType` variants\ncovered by this change\n\n* For each type:\n\n  * writes a batch with `[skipped_column(type), values_column(Int32)]`\n  * reads only the second column (skipping the first)\n* verifies whether the returned column exactly matches the original\n`Int32` values\n\n* This directly validates that skipping each of these types consumes the\ncorrect number of buffers\n\n* Also, all existing `arrow-ipc` tests pass (`cargo test -p arrow-ipc\n--lib`)\n\n# Are there any user-facing changes?\n\nNo.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5312fad3aeb3d1675bfaf2758f0cf103ec4e4fef",
      "old_mode": 33188,
      "old_path": "arrow-ipc/src/reader.rs",
      "new_id": "aa66696271eb7c48c0098d1657a6bc4b7f26123a",
      "new_mode": 33188,
      "new_path": "arrow-ipc/src/reader.rs"
    }
  ]
}
