andygrove opened a new pull request, #3887:
URL: https://github.com/apache/datafusion-comet/pull/3887

   ## Which issue does this PR close?
   
   Closes #3174.
   
   ## Rationale for this change
   
   The existing `array_distinct` SQL file tests only covered `array<int>` with 
2 queries. The `Incompatible` support level had no description, making it 
unclear to users why the expression is marked incompatible.
   
   ## What changes are included in this PR?
   
   1. **Expanded SQL file tests** for `array_distinct` from 2 queries to 
comprehensive coverage across 7 element types:
      - **INT**: duplicates, empty array, NULL input, NULL elements, all-NULLs, 
boundary values (INT_MIN/MAX), negative values
      - **BIGINT**: duplicates, NULL elements, boundary values (Long.MIN/MAX)
      - **STRING**: duplicates, empty strings, NULL elements, 
empty-string-vs-NULL distinction
      - **BOOLEAN**: all combinations of true/false with NULLs
      - **DOUBLE**: duplicates, NaN deduplication, NaN+NULL, 
Infinity/-Infinity, negative zero
      - **FLOAT**: duplicates, NaN deduplication
      - **DECIMAL(10,2)**: duplicates, NULL elements
      - **Nested arrays**: `array<array<int>>` with duplicates and NULLs
   
   2. **Added descriptive reason** to `Incompatible` support level: `"Output 
elements are sorted rather than preserving insertion order"`.
   
   ## How are these changes tested?
   
   All new tests are SQL file tests that run via `CometSqlFileTestSuite` with 
the `ConfigMatrix` for both dictionary-encoded and plain parquet. Tests use 
`spark_answer_only` mode since the expression is `Incompatible` (DataFusion 
sorts output elements while Spark preserves insertion order). Verified passing 
locally with both dictionary configurations.


-- 
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]

Reply via email to