)]}'
{
  "commit": "8d82d64e78e5dded08dd77e4f6ffb5c2da7bfaaa",
  "tree": "a9253b1554af22f752e1ccef94d1ab42105b5b10",
  "parents": [
    "6e13cc9035cd16e8ed57f4b2ee032e73007356e6"
  ],
  "author": {
    "name": "Xiaotian (Jackie) Jiang",
    "email": "jackie.jxt@gmail.com",
    "time": "Wed Apr 01 13:53:05 2026 -0700"
  },
  "committer": {
    "name": "Xiaotian (Jackie) Jiang",
    "email": "jackie.jxt@gmail.com",
    "time": "Wed Apr 01 16:47:49 2026 -0700"
  },
  "message": "Improve PinotSegmentColumnReader with shared bulk-read utilities\n\n- Add `_valueType` field (initialized from Dictionary/ForwardIndexReader) to avoid\n  repeated per-call lookups\n- Rename `getStoredType()` → `getValueType()` to reflect that it returns the\n  dictionary value type when a dictionary is present\n- Add `readAllValues(int numDocs)`: bulk-reads all docs into Object[], with\n  branching hoisted outside the loop; MV primitive types returned as unboxed\n  arrays (int[], long[], etc.)\n- Add `readAllValuesForSorting(int numDocs)`: bulk-reads all SV docs into\n  Comparable[], supporting both dictionary and raw columns; extracted from\n  PinotSegmentSorter\n- Update PinotSegmentSorter to delegate to readAllValuesForSorting()\n- Update second constructor to drop the unused numDocs parameter; update all\n  callers accordingly\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "101d70232803cc963ecdcb292dbaa9320fabe3b0",
      "old_mode": 33188,
      "old_path": "pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/loader/ForwardIndexHandler.java",
      "new_id": "9ee392e34950dbc36d7af11a5cf307d8acdb4fd4",
      "new_mode": 33188,
      "new_path": "pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/loader/ForwardIndexHandler.java"
    },
    {
      "type": "modify",
      "old_id": "f4809b8b8a0d82f7b7438119917dc09679a4e29d",
      "old_mode": 33188,
      "old_path": "pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/readers/PinotSegmentColumnReader.java",
      "new_id": "7f62416cdd0a20a2d2f4a7902dd880d52713dd53",
      "new_mode": 33188,
      "new_path": "pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/readers/PinotSegmentColumnReader.java"
    },
    {
      "type": "modify",
      "old_id": "d3d6e02baeb6ad2bd6518324190cbfb5d3406bc1",
      "old_mode": 33188,
      "old_path": "pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/readers/sort/PinotSegmentSorter.java",
      "new_id": "1b51187df141942879e4fe607005042181c9cb2f",
      "new_mode": 33188,
      "new_path": "pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/readers/sort/PinotSegmentSorter.java"
    }
  ]
}
