icexelloss commented on code in PR #33909:
URL: https://github.com/apache/arrow/pull/33909#discussion_r1100707431
##########
cpp/src/arrow/engine/substrait/options.h:
##########
@@ -83,6 +84,14 @@ class ARROW_ENGINE_EXPORT ExtensionProvider {
ARROW_ENGINE_EXPORT std::shared_ptr<ExtensionProvider>
default_extension_provider();
+struct ARROW_ENGINE_EXPORT NamedTapNodeOptions : public
compute::ExecNodeOptions {
+ NamedTapNodeOptions(const std::string& name, std::shared_ptr<Schema> schema)
+ : name(name), schema(std::move(schema)) {}
+
+ std::string name;
+ std::shared_ptr<Schema> schema;
+};
Review Comment:
Somehow missed this message - I am leaning towards "Generic Node" since it
allows more flexibility to define node that is not just "map-like" and also we
don't need to write protobuf file.
I have a question - if we go the "Generic Node" route it looks like we can
achieve register custom handlers via either `RegisterGenericExtensionHandler`
or `set_default_extension_provider`
(https://github.com/apache/arrow/commit/7423f0332cb11eb780f421c07bac71f87bf44a03#diff-8c5c127e8db8e52b40519262ee2b7e0179d4a39e5bcfe8b2165173b2b352d6a9R139)
so technically we don't need `set_default_extension_provider` if we have
`RegisterGenericExtensionHandler`?
--
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]