Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
Currently the FunctionOptions interface is entirely opaque. It would be useful to add
- equality comparability
bool FunctionOptions::Equals(const FunctionOptions& other) const
- debug representation
std::string FunctionOptions::ToString() const
- serializability
Status FunctionOptions::Serialize(io::OutputStream*) const Result<std::unique_ptr<FunctionOptions>> FunctionOptions::Deserialize(io::InputStream*)
(or similar)
These are already implemented for common instances of FunctionOptions in expression.cc, since Expression has the above capabilities and may contain a FunctionOptions. Making these explicit virtual functions will formalize this ad-hoc
code and expose it for direct unit testing.
As an added bonus, if options can serialize themselves to JSON then that can be used by Python and other bindings to generate wrappers instead of the current hand-written listing of wrapper classes for each FunctionOptions subclass
Attachments
Issue Links
- is a child of
-
ARROW-8894 [C++] C++ array kernels framework and execution buildout (umbrella issue)
- Open
- links to