friendlymatthew opened a new issue, #18825:
URL: https://github.com/apache/datafusion/issues/18825

   ### Is your feature request related to a problem or challenge?
   
   Union arrays currently cannot be used in comparison operations with scalar 
values or other types. When attempting to filter or compare a union column 
against a constant value (e.g., `where union_column = 67`), datafusion fails 
during type coercion
   
   This prevents common filtering and selection ops on union-typed data. At 
work, we interact with a lot of JSON and accessing data with `->` returns Union 
types. Currently the following query will err:
   
   ```sql
   select * from records
   where json_val->'id' = 123
   ```
   
   ### Describe the solution you'd like
   
   - Write a `union_coercion` function that handles union-to-scalar and 
union-to-union type coercion, following the pattern established by other 
composite types like `struct_coercion` and `map_coercion`
   - Extend `comparison_coercion` to chain to `union_coercion` as part of its 
coercion attempts
   
   On the arrow-side, comparison kernel support for unions are being developed:
   - https://github.com/apache/arrow-rs/issues/8837
   - https://github.com/apache/arrow-rs/issues/8881
   
   
   
   ### Describe alternatives you've considered
   
   _No response_
   
   ### Additional context
   
   _No response_


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