[ https://issues.apache.org/jira/browse/ARROW-12873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17395002#comment-17395002 ]
David Li commented on ARROW-12873: ---------------------------------- I think that's just a different way of encoding what was originally proposed, right (explicit separate metadata)? I'm not sure I follow. > [C++][Compute] Support tagging ExecBatches with arbitrary extra information > --------------------------------------------------------------------------- > > Key: ARROW-12873 > URL: https://issues.apache.org/jira/browse/ARROW-12873 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Ben Kietzman > Priority: Major > > Ideally, ExecBatches could be tagged with arbitrary optional objects for > tracing purposes and to transmit execution hints from one ExecNode to another. > These should *not* be explicit members like ExecBatch::selection_vector is, > since they may not originate from the arrow library. For an example within > the arrow project: {{libarrow_dataset}} will be used to produce ScanNodes and > a WriteNodes and it's useful to tag scanned batches with their {{Fragment}} > of origin. However adding {{ExecBatch::fragment}} would result in a cyclic > dependency. > To facilitate this tagging capability, we would need a type erased container > something like > {code} > struct AnySet { > void* Get(tag_t tag); > void Set(tag_t tag, void* value, FnOnce<void(void*)> destructor); > }; > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)