)]}'
{
  "commit": "71c418c2fde3c49d4cfa4ec564514d04f66f71bf",
  "tree": "bc29ebc89b823daf25ef8bb6f79b441059beaf64",
  "parents": [
    "db9fff8638e907012b4fb4585723ebbc6514ab20"
  ],
  "author": {
    "name": "Joana Hrotko",
    "email": "joana.hrotko@dremio.com",
    "time": "Mon Jan 19 13:41:06 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jan 19 14:41:06 2026 +0100"
  },
  "message": "GH-948: Use buffer indexing for UUID vector (#949)\n\n## What\u0027s Changed\n\nThe current UUID vector implementation creates new buffer slices when\nreading values through holders, which has several drawbacks:\n- Memory overhead: Each slice creates a new ArrowBuf object\n- Performance impact: Buffer slicing is slower than direct buffer\nindexing\n- Inconsistency: Other fixed-width types (like Decimal) use buffer\nindexing with a `start` offset field\n\n### Proposed Changes\n\n1. Add `start` field to UUID holders to track buffer offsets:\n   - `UuidHolder`: Add `public int start \u003d 0;`\n   - `NullableUuidHolder`: Add `public int start \u003d 0;`\n2. Update `UuidVector` to use buffer indexing\n3. Update readers and writers\n\n### Related Work\n\n- Original UUID extension type implementation: GH-825 (#903)\n\nCloses #948",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b5f87e7a753a703fc824aa52ed66b5434d7f372d",
      "new_mode": 33188,
      "new_path": "performance/src/main/java/org/apache/arrow/vector/UuidVectorBenchmarks.java"
    },
    {
      "type": "modify",
      "old_id": "e0dadd1c6791372dc04b10a32e840cd9c99500a0",
      "old_mode": 33188,
      "old_path": "vector/src/main/java/org/apache/arrow/vector/UuidVector.java",
      "new_id": "e1e61a5a2e49f253a9d1761d1b0d8d38b0530dd8",
      "new_mode": 33188,
      "new_path": "vector/src/main/java/org/apache/arrow/vector/UuidVector.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a5312f6edb582e4614642846b5409c72b075bdc",
      "new_mode": 33188,
      "new_path": "vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableUuidHolderReaderImpl.java"
    },
    {
      "type": "modify",
      "old_id": "bb35b960d3f2c73f7fce500bedbcdbb086a64931",
      "old_mode": 33188,
      "old_path": "vector/src/main/java/org/apache/arrow/vector/complex/impl/UuidReaderImpl.java",
      "new_id": "bb7ae13e5bd70a2f570a446d3429c15ea16210eb",
      "new_mode": 33188,
      "new_path": "vector/src/main/java/org/apache/arrow/vector/complex/impl/UuidReaderImpl.java"
    },
    {
      "type": "modify",
      "old_id": "ee3c79d5e3fe3f513b91e1819b1ccf864dac2a6d",
      "old_mode": 33188,
      "old_path": "vector/src/main/java/org/apache/arrow/vector/complex/impl/UuidWriterImpl.java",
      "new_id": "944b7e2e62a2acf1a25522cc01a3564b3ff8d98c",
      "new_mode": 33188,
      "new_path": "vector/src/main/java/org/apache/arrow/vector/complex/impl/UuidWriterImpl.java"
    },
    {
      "type": "modify",
      "old_id": "7fa50ca7613fd0f01abe8a8819b0c0dc994ac8fd",
      "old_mode": 33188,
      "old_path": "vector/src/main/java/org/apache/arrow/vector/holders/NullableUuidHolder.java",
      "new_id": "6a2b4ff604ad796b08f686e90cb9ad0c952ccb25",
      "new_mode": 33188,
      "new_path": "vector/src/main/java/org/apache/arrow/vector/holders/NullableUuidHolder.java"
    },
    {
      "type": "modify",
      "old_id": "8a0a66e435021d41508224e2ac6f10fa2b16c948",
      "old_mode": 33188,
      "old_path": "vector/src/main/java/org/apache/arrow/vector/holders/UuidHolder.java",
      "new_id": "9ec0305f300d7ceec43fd744459b6963c90b8000",
      "new_mode": 33188,
      "new_path": "vector/src/main/java/org/apache/arrow/vector/holders/UuidHolder.java"
    },
    {
      "type": "modify",
      "old_id": "759c84651dfacd71b56503f72dd327094352327c",
      "old_mode": 33188,
      "old_path": "vector/src/test/java/org/apache/arrow/vector/TestLargeListVector.java",
      "new_id": "ccc0d3e1763b2060bc20dd16bbf7f332f3c98092",
      "new_mode": 33188,
      "new_path": "vector/src/test/java/org/apache/arrow/vector/TestLargeListVector.java"
    },
    {
      "type": "modify",
      "old_id": "e96ac3027ce4912f22763accc31b38063eab1774",
      "old_mode": 33188,
      "old_path": "vector/src/test/java/org/apache/arrow/vector/TestListVector.java",
      "new_id": "1fe4c59f6380eaef873deb41b61c4c929caa138a",
      "new_mode": 33188,
      "new_path": "vector/src/test/java/org/apache/arrow/vector/TestListVector.java"
    },
    {
      "type": "modify",
      "old_id": "bfac1237a466f8a5c9ffd239a8fcfa6f6ab9edd3",
      "old_mode": 33188,
      "old_path": "vector/src/test/java/org/apache/arrow/vector/TestMapVector.java",
      "new_id": "274d2973bdc231ce5ccaeef2f32fe0ed705c9a4f",
      "new_mode": 33188,
      "new_path": "vector/src/test/java/org/apache/arrow/vector/TestMapVector.java"
    },
    {
      "type": "modify",
      "old_id": "acf9dd6868c7effc9f6a94a125a0343ceb2b4c7e",
      "old_mode": 33188,
      "old_path": "vector/src/test/java/org/apache/arrow/vector/TestUuidType.java",
      "new_id": "99045d1cba3d0f12f6e5c33598d42f9a2567c48d",
      "new_mode": 33188,
      "new_path": "vector/src/test/java/org/apache/arrow/vector/TestUuidType.java"
    },
    {
      "type": "modify",
      "old_id": "a3690461cf1fb100006b6cfacd51362b20db7a2e",
      "old_mode": 33188,
      "old_path": "vector/src/test/java/org/apache/arrow/vector/TestUuidVector.java",
      "new_id": "b5dd12d89cde2a71d121a847d6ec5cc89e4897d9",
      "new_mode": 33188,
      "new_path": "vector/src/test/java/org/apache/arrow/vector/TestUuidVector.java"
    },
    {
      "type": "modify",
      "old_id": "b131bf07e2e171bb8d872affc947c3728416719b",
      "old_mode": 33188,
      "old_path": "vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java",
      "new_id": "80d03cae6db10d878b1008d00b20553d7d1a01c1",
      "new_mode": 33188,
      "new_path": "vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java"
    }
  ]
}
