You would have to use a std::shared_ptr<Buffer> as a buffer in one of the
array layouts in a manner that’s compatible with the type.

On Wed, 9 Oct 2024 at 12:41 Yi Cao <cao.yi.s...@gmail.com> wrote:

> Hi,
> I want to store pointers to avoid copy of large amount of data. And then I
> can pass such table and extract pointers from the column and access object
> it points to.
>
> Thanks
>
> On Wed, 9 Oct 2024 at 13:14, Xiufeng Huang <xfhua...@gmail.com> wrote:
>
>> I think arrow structures are supposed to hold data. Why would you want to
>> store pointers in arrow structures any way?
>>
>> On Wed, Oct 9, 2024 at 3:29 PM Yi Cao <cao.yi.s...@gmail.com> wrote:
>>
>>> Hi Arrow community,
>>> Need some advice here!
>>>
>>> Our C++ application processes tabular data and Apache Arrow looks
>>> promising in our case. I try to implement the scenario below in c++ arrow
>>> however, cannot find a solution or a similar example. Could anyone please
>>> share your thoughts ?
>>>
>>> Say here is a table of three columns. First column is int type and the
>>> second column is string type. For the third column, we would like to store
>>> std::shared_ptr so that only the shared pointer is copied but no copy of
>>> large data it pointes to.
>>>
>>> I have read source code of extension type and a few examples like UUID
>>> and fixed tensor type. However, I'm still not sure how to implement the
>>> above case where an array of shared_ptr is stored in arrow::RecordBatch or
>>> arrow::Table.
>>>
>>> Is it possible and can any example be provided ?
>>>
>>> Thank you and best regards.
>>>
>>>
>>>
>>>
>>>
>>
>>

Reply via email to