)]}'
{
  "commit": "258a7cc365829d7d03009c213bce612ba251e122",
  "tree": "bc1c8b4a8aa083959d7c12985dbccf97e4b23dbf",
  "parents": [
    "4df6e9cd10a2a5b232eebd1390f9baa0bc3ec6e5"
  ],
  "author": {
    "name": "lgbo-ustc",
    "email": "lgbo.ustc@gmail.com",
    "time": "Thu May 28 20:20:42 2026 +0800"
  },
  "committer": {
    "name": "lgbo-ustc",
    "email": "lgbo.ustc@gmail.com",
    "time": "Thu May 28 20:20:42 2026 +0800"
  },
  "message": "[CH] Fix flatten nullable inner array row handling\n\nSparkArrayFlatten handled Array(Nullable(Array(T))) by scanning all nested inner arrays and returning a fully-null result column as soon as any inner array was null. That made unrelated rows null, even though Spark flatten semantics only null the outer row that contains a null inner array.\n\nBuild a result null map per outer row, mark only rows containing null inner arrays as null, and keep non-null rows using the flattened array offsets. Add a ClickHouse backend regression test where the first row contains a null inner array and the second row remains non-null.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6a0196e2b18903de268646c898f2f4bf22780425",
      "old_mode": 33188,
      "old_path": "backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenFunctionValidateSuite.scala",
      "new_id": "40c5ab10bbb4a106d1dc2e1edc982018445a8206",
      "new_mode": 33188,
      "new_path": "backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenFunctionValidateSuite.scala"
    },
    {
      "type": "modify",
      "old_id": "96faa9d1dc1d0aebbe41ef3c68fb46e8027a5de2",
      "old_mode": 33188,
      "old_path": "cpp-ch/local-engine/Functions/SparkArrayFlatten.cpp",
      "new_id": "7ead48cac1f28e9966c1c6c40afab6d3149a99f9",
      "new_mode": 33188,
      "new_path": "cpp-ch/local-engine/Functions/SparkArrayFlatten.cpp"
    }
  ]
}
