icexelloss commented on code in PR #33909:
URL: https://github.com/apache/arrow/pull/33909#discussion_r1095022896
##########
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:
In my mind we should do the following:
(1) Add "NamedTapRel" as a purely abstract relation in Acero. The Acero code
itself doesn't care or know how to turn a NamedTapRel message into a
Declaration.
(2) Add a C++ extension API that allows downstream users / implementer of
the NamedTapRel to tell Acero "hey, if you see a NamedTapRel message, call into
the custom substrait extension function that I provide here and I will return a
declaration to u" (basically this: https://github.com/apache/arrow/issues/33850)
This way I believe we don't need most the stuff here (including changes to
pass conv_opts, named_tap_mapper, etc)
--
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]