Commits


David Li authored and Benjamin Kietzman committed 1430c93f689
ARROW-13025: [C++][Python] Add FunctionOptions::Equals/ToString/Serialize This is a draft of adding more utility methods to FunctionOptions. It's not fully implemented (it needs rebasing + serialization isn't implemented for most options, plus there are various TODOs scattered). But before I proceed further, I wanted to get some feedback. Some concerns I have: - I don't like adding protected methods to a struct, and it's inconsistent with how equality is implemented for other structs (via a visitor or otherwise centralized in a single location). However ARROW-8891 will require that we be able to define kernels - and presumably their options - in a separate shared library, so I don't think we can do much better than this. - But for (de)serialization, we'll still need some way to dynamically register the mapping between a type_name and the actual struct, so maybe this is a moot point. - I've exposed the fact that serialization uses StructScalars to support Expression - but maybe this is too much to commit to in the API? Closes #10511 from lidavidm/arrow-13025 Authored-by: David Li <li.davidm96@gmail.com> Signed-off-by: Benjamin Kietzman <bengilgit@gmail.com>