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]
