rtpsw commented on code in PR #13500: URL: https://github.com/apache/arrow/pull/13500#discussion_r918334670
########## cpp/src/arrow/engine/substrait/serde.h: ########## @@ -115,6 +115,22 @@ ARROW_ENGINE_EXPORT Result<compute::ExecPlan> DeserializePlan( const Buffer& buf, const std::shared_ptr<dataset::WriteNodeOptions>& write_options, const ExtensionIdRegistry* registry = NULLPTR, ExtensionSet* ext_set_out = NULLPTR); +/// Factory function type for generating the write options of a node consuming the batches +/// produced by each toplevel Substrait relation when deserializing a Substrait Plan. +using WriteOptionsFactory = std::function<std::shared_ptr<dataset::WriteNodeOptions>()>; + +struct ARROW_ENGINE_EXPORT UdfDeclaration { + std::string name; + std::string code; + std::string summary; + std::string description; + std::vector<std::pair<std::shared_ptr<DataType>, bool>> input_types; + std::pair<std::shared_ptr<DataType>, bool> output_type; Review Comment: IIRC, this pair-type originates from [here](https://github.com/apache/arrow/blob/master/cpp/src/arrow/engine/substrait/type_internal.cc#L47), so the `bool` means `is_nullable`. I'll see if all relevant places in the code can be cleaned up. -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org