[
https://issues.apache.org/jira/browse/ARROW-229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16138641#comment-16138641
]
Wes McKinney commented on ARROW-229:
------------------------------------
Any function that is capable of allocating memory must be passed a MemoryPool
so that allocations can be accounted for. If the input type and the target type
are the same, then no memory is allocated, otherwise new memory is allocated.
It would most consistent to use the visitor pattern for this dynamic dispatch
as we have done elsewhere in the library.
> [C++] Implement safe casts for primitive types
> ----------------------------------------------
>
> Key: ARROW-229
> URL: https://issues.apache.org/jira/browse/ARROW-229
> Project: Apache Arrow
> Issue Type: New Feature
> Components: C++
> Reporter: Uwe L. Korn
> Fix For: 0.7.0
>
>
> In some situations, you want to cast the data in a PrimitiveArray to a
> different (but similar) data type, e.g. from {{uint32_t}} to {{int32_t}} or
> {{uint32_t}} to {{uint8_t}}. This can either be done by reinterpreting the
> data or needs to involve a copy if the size of the underlying type changes.
> There is already an implementation for this in {{parquet-cpp}} that could be
> pulled out into Arrow:
> https://github.com/apache/parquet-cpp/blob/9a0407e684c0a6299d0e6ab98c11c1162915c0ee/src/parquet/arrow/writer.cc#L71
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)