sunchao opened a new pull request, #5970: URL: https://github.com/apache/datafusion-comet/pull/5970
## Which issue does this PR close? None. Regression coverage following #5159. ## Rationale for this change Collection argument normalization also sees already-matching nested types, including constant-folded typed nulls. Those inputs must pass through without name-based struct conversion, and `collect_list` / `collect_set` must discard the nulls and return empty collections with the declared nested type. DataFusion 55.1.0 already supplies the matching-type cast behavior; these tests protect Comet's use of it. ## What changes are included in this PR? - Add a native regression covering both literal and column inputs. It checks shared storage is preserved, accumulator state matches the declared type, and both collection aggregates return non-null empty lists. Duplicate struct field names with different child types expose accidental name-based conversion. - Add global and grouped Spark cases for `CAST(NULL AS ARRAY<STRUCT<a: INT, b: STRUCT<x: INT>>>)`, comparing results with Spark and requiring executed native partial and final aggregates. ## How are these changes tested? - `cargo fmt --all --check --manifest-path native/Cargo.toml` and `git diff --check` passed. - Spark 4.1.3 reactor test compilation, Spotless, and Scalastyle passed (`./mvnw -o -B -Pspark-4.1 -DskipTests test-compile spotless:check`, with a writable Maven cache). - Native test attempt: `cargo test --locked -p datafusion-comet --lib test_collect_agg -- --nocapture` could not resolve the locked DataFusion 55.1.0 dependency from the configured registry mirror, whose newest available version is 55.0.0. Consequently, native tests and Spark runtime tests were not run locally on this OSS checkout; hosted CI must validate them. -- 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]
