[ https://issues.apache.org/jira/browse/ARROW-4799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17661821#comment-17661821 ]
Rok Mihevc commented on ARROW-4799: ----------------------------------- This issue has been migrated to [issue #21317|https://github.com/apache/arrow/issues/21317] on GitHub. Please see the [migration documentation|https://github.com/apache/arrow/issues/14542] for further details. > [C++] Propose alternative strategy for handling Operation logical output types > ------------------------------------------------------------------------------ > > Key: ARROW-4799 > URL: https://issues.apache.org/jira/browse/ARROW-4799 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Wes McKinney > Priority: Major > > Currently in the prototype work in ARROW-4782, operations are being "boxed" > in a strongly typed Expr types. An alternative structure would be for an > operation to define a virtual > {code} > virtual std::shared_ptr<ArgType> out_type() const = 0; > {code} > Where {{ArgType}} is some class that encodes the arity (array vs. scalar > vs....) and value type (if any) that is emitted by the operation. > Operations emitting multiple pieces of data would need some kind of "tuple" > object output. We can iterate on this -- This message was sent by Atlassian Jira (v8.20.10#820010)