Ruchirtripathi commented on PR #24029:
URL: https://github.com/apache/datafusion/pull/24029#issuecomment-5179583759
Thanks for the detailed feedback! I've gone ahead and addressed all the
requested changes:
* **Strict Type Enforcement in list constructors:**
`ScalarValue::new_list`, `new_list_from_iter`, and `new_large_list` now
strictly enforce the
provided `DataType` (using explicit casting) rather than inferring output
types from runtime values. This preserves declared schemas, dictionaries, and
nullability.
* **Array_agg Accumulator Fixes:** The `DistinctArrayAggAccumulator`
(and ordered paths) in `array_agg.rs` now strictly derive their output types
from their declared return schema (`&self.datatype`) instead of derived
runtime types, ensuring nested field nullability doesn't differ.
* **Test Corrections:** The stricter schema enforcement in
`array_agg.rs` revealed some existing tests that were improperly configuring the
`ArrayAggAccumulatorBuilder` (declaring `List(Utf8)` but feeding `Utf8`
batches). I've corrected these test schemas to properly reflect their input
data.
* **Expanded Regression Tests:** Added regression tests in
`scalar/mod.rs` to assert on inner array types for all three list constructors,
and added
`ordered_aggregate_nested_nullability_mismatch_issue_24022` to explicitly
test ordered aggregate nested nullability.
Let me know if there's anything else you'd like me to tweak
--
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]