)]}'
{
  "commit": "6db42a2f48425ac73771d1176667c1253044e6db",
  "tree": "fb9ac23d91309ff7af18489e8471a9f1aa3cd7f8",
  "parents": [
    "df21c74769408bd18e27f333c1ca3d8d9cdaee10"
  ],
  "author": {
    "name": "eldenmoon",
    "email": "lihangyu@selectdb.com",
    "time": "Thu Jan 29 15:45:13 2026 +0800"
  },
  "committer": {
    "name": "eldenmoon",
    "email": "lihangyu@selectdb.com",
    "time": "Thu Jan 29 15:45:13 2026 +0800"
  },
  "message": "[opt](table-function) Optimize explode with block fast path\n\n- Add a block fast path for explode-like table functions to expand contiguous nested ranges without per-row get_value()\n- Fall back to the original row-wise path when the nested range is non-contiguous or unsupported\n- Add/extend unit tests to cover fast path and fallback cases\n\nTest: ./run-be-ut.sh --run --filter\u003d\u0027TableFunctionOperatorTest.*:UnnestTest.*\u0027\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63e8bded2c64c2b2c4fc6c5ac7f1d9a18f14090c",
      "old_mode": 33188,
      "old_path": "be/src/pipeline/exec/table_function_operator.cpp",
      "new_id": "076a7fbbfb5e94d53cc390dce8579845c090d937",
      "new_mode": 33188,
      "new_path": "be/src/pipeline/exec/table_function_operator.cpp"
    },
    {
      "type": "modify",
      "old_id": "56f9f116ec827041f5016a6ea1adda33430998ce",
      "old_mode": 33188,
      "old_path": "be/src/pipeline/exec/table_function_operator.h",
      "new_id": "e73b73dfa0d9ba48488de7309edbe3f5cce14e80",
      "new_mode": 33188,
      "new_path": "be/src/pipeline/exec/table_function_operator.h"
    },
    {
      "type": "modify",
      "old_id": "64bbf57b7500cec9591a0cc39f1fbe653c811990",
      "old_mode": 33188,
      "old_path": "be/src/vec/columns/column_variant.cpp",
      "new_id": "1fb34e685dfe2720701c43debf2dfb66cd7406a1",
      "new_mode": 33188,
      "new_path": "be/src/vec/columns/column_variant.cpp"
    },
    {
      "type": "modify",
      "old_id": "334838586c8285f1204c9407cb7a72b87b85a11c",
      "old_mode": 33188,
      "old_path": "be/src/vec/exec/scan/olap_scanner.cpp",
      "new_id": "748415c41c6db64b5fdebf0d0e90cf4d20b8a992",
      "new_mode": 33188,
      "new_path": "be/src/vec/exec/scan/olap_scanner.cpp"
    },
    {
      "type": "modify",
      "old_id": "ef36ca881d79ab2613a69eec595545fd9b86ba7e",
      "old_mode": 33188,
      "old_path": "be/src/vec/exprs/table_function/table_function.h",
      "new_id": "e400dcb311b3c3fe20d595449ce25c0d3c20e6ec",
      "new_mode": 33188,
      "new_path": "be/src/vec/exprs/table_function/table_function.h"
    },
    {
      "type": "modify",
      "old_id": "8b090a87177ab69bf71475208b4bd9450b07ac75",
      "old_mode": 33188,
      "old_path": "be/src/vec/exprs/table_function/vexplode.cpp",
      "new_id": "eeb8287113e884797ab7c603d8b59daa5810ebe8",
      "new_mode": 33188,
      "new_path": "be/src/vec/exprs/table_function/vexplode.cpp"
    },
    {
      "type": "modify",
      "old_id": "7b53926ae2c31e452a93ead2ad677e30b107c84d",
      "old_mode": 33188,
      "old_path": "be/src/vec/exprs/table_function/vexplode.h",
      "new_id": "24a36f0dfb098304a7aa8427fdb35d49f84bb440",
      "new_mode": 33188,
      "new_path": "be/src/vec/exprs/table_function/vexplode.h"
    },
    {
      "type": "modify",
      "old_id": "dbeef4f438baa6488c73527efb5b17eee30f471f",
      "old_mode": 33188,
      "old_path": "be/src/vec/exprs/table_function/vexplode_v2.cpp",
      "new_id": "7cb965145289d0ba6aee1254bd3dc173089d8892",
      "new_mode": 33188,
      "new_path": "be/src/vec/exprs/table_function/vexplode_v2.cpp"
    },
    {
      "type": "modify",
      "old_id": "f4b6bddbf42b44b65fed3ce76bf046db95477e56",
      "old_mode": 33188,
      "old_path": "be/src/vec/exprs/table_function/vexplode_v2.h",
      "new_id": "141bc393189fa0c6860b051913525806352881cf",
      "new_mode": 33188,
      "new_path": "be/src/vec/exprs/table_function/vexplode_v2.h"
    },
    {
      "type": "modify",
      "old_id": "7620d7179c87162b43ccf5bd23911d934e149b9e",
      "old_mode": 33188,
      "old_path": "be/src/vec/functions/array/function_array_utils.cpp",
      "new_id": "c7636c8952d5aa58ffa4331e9a866f157e8dda3f",
      "new_mode": 33188,
      "new_path": "be/src/vec/functions/array/function_array_utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "bd4e4fd67ed61f9147debdba1ed0f76b2edbd7be",
      "old_mode": 33188,
      "old_path": "be/test/pipeline/operator/table_function_operator_test.cpp",
      "new_id": "97f11027f1e73c0d7893c72643bb615427f17cae",
      "new_mode": 33188,
      "new_path": "be/test/pipeline/operator/table_function_operator_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "51b8dcf4ec6675aea9973c6af6b74c64f4981b1d",
      "old_mode": 33188,
      "old_path": "regression-test/suites/query_p0/sql_functions/table_function/explode.groovy",
      "new_id": "68e7da13b0b4c260d3cf4ccdcbecdc7630381130",
      "new_mode": 33188,
      "new_path": "regression-test/suites/query_p0/sql_functions/table_function/explode.groovy"
    }
  ]
}
