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

   I would not expect there to be many direct users of the `skip_nulls` data 
member, but disentangling the corresponding cython will be annoying. Since it's 
a breaking change, we *could* compromise with:
   
   ```c++
   /// Options for IsIn and IndexIn functions
   class ARROW_EXPORT SetLookupOptions : public FunctionOptions {
    public:
     enum NullMatchingBehavior { MATCH, SKIP, EMIT_NULL, INCONCLUSIVE };
   
     explicit SetLookupOptions(Datum value_set, NullMatchingBehavior = MATCH);
     explicit SetLookupOptions(Datum value_set, bool skip_nulls);
     SetLookupOptions();
     static constexpr char const kTypeName[] = "SetLookupOptions";
   
     /// The set of values to look up input values into.
     Datum value_set;
   
     // will be overridden by skip_nulls if that is explicitly assigned
     NullMatchingBehavior null_matching_behavior;
   
     // DEPRECATED(use null_matching_behavior instead)
     std::optional<bool> skip_nulls;
   };
   ```
   
   with this, `opts.skip_nulls = false` will still work and operate as expected 
and (I think) cython changes will be minimal until we're ready fully to 
accommodate null_matching_behavior in python.


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