zhanglistar opened a new pull request, #12079: URL: https://github.com/apache/gluten/pull/12079
## What changes are proposed in this pull request? This PR fixes several ClickHouse backend failures around nullable complex types, especially arrays, structs, and nested null values. The changes include: - Preserve nullable semantics when parsing nested Substrait LIST types, so nested arrays can correctly represent values such as `Array(Nullable(Array(...)))`. - Avoid inserting `Field::Null` into non-nullable ClickHouse complex columns during Spark row conversion and constant column creation. - Preserve source nullability when casting nullable columns and when aligning the final output schema. - Fix Parquet reading for nullable complex columns such as `Nullable(Tuple(...))`, including reconstructing struct-level nullability from nullable child fields. These fixes prevent errors such as `Bad get: has Null, requested Array` and `Cannot convert NULL value to non-Nullable type`, and also restore correct semantics for array lambda operations over nullable structs. Related to #2340. ## How was this patch tested? Tested with affected ClickHouse backend function validation cases, including: - `last_day` - `approx_count_distinct` - issue #2340 coverage - array aggregate with nested struct and nulls - array functions with lambda over nullable struct arrays Also verified C++ compilation for the touched objects, including parser and Parquet reader components. ## Was this patch authored or co-authored using generative AI tooling? Generated-by: GPT-5.5 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
