-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
Currently the FunctionOptions interface is entirely opaque. It would be useful to add
-
equality comparability ```Java
bool FunctionOptions::Equals(const FunctionOptions& other) const -
debug representation ```Java
std::string FunctionOptions::ToString() const -
serializability ```Java
Status FunctionOptions::Serialize(io::OutputStream*) const Result<std::unique_ptr<FunctionOptions>> FunctionOptions::Deserialize(io::InputStream*)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
Reporter: Ben Kietzman / @bkietz
Assignee: David Li / @lidavidm
Related issues:
PRs and other links:
Note: This issue was originally created as ARROW-13025. Please see the migration documentation for further details.