ianmcook commented on PR #36739:
URL: https://github.com/apache/arrow/pull/36739#issuecomment-1677429633

   Thanks @R-JunmingChen 
   
   > 1. Why do we want to support `EMIT_NULL`? `MATCH`, `SKIP` and 
`INCONCLUSIVE` seem sufficient.
   
   It is nice to have `EMIT_NULL` for completeness. There are some cases where 
the user might want that behavior—for example, to match the behavior of 
DuckDB's `list_contains` function like I describe here: 
https://github.com/apache/arrow/issues/36420#issuecomment-1662660149
   
   > 2. Since we want support `skip_nulls` for backward compatibility, we need 
an `enumerator UNSET` for `NullMatchingBehavior`, which means we only use 
`skip_nulls` instead of `NullMatchingBehavior`, and make it default for the 
enum option. Cause we can't translate when user set the `skip_nulls` via the 
way like `setLookupOptions.skip_nulls = false`.
   
   I think it is possible to define 2 explicit public functions of the class 
`SetLookupOptions`:
   1. `SetLookupOptions(Datum value_set, bool skip_nulls = false)` (same as 
currently)
   2. `SetLookupOptions(Datum value_set, NullMatchingBehavior 
null_matching_behavior = NullMatchingBehavior::MATCH)`
   
   I think that will give backward compatibility. 
   
   


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

Reply via email to