You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/12/10 21:59:00 UTC

[jira] [Updated] (ARROW-1904) [C++] Using the raw_values() method on arrow::PrimitiveArray yields unreliable results on some compilers

     [ https://issues.apache.org/jira/browse/ARROW-1904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated ARROW-1904:
----------------------------------
    Labels: pull-request-available  (was: )

> [C++] Using the raw_values() method on arrow::PrimitiveArray yields unreliable results on some compilers
> --------------------------------------------------------------------------------------------------------
>
>                 Key: ARROW-1904
>                 URL: https://issues.apache.org/jira/browse/ARROW-1904
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Wes McKinney
>            Assignee: Wes McKinney
>              Labels: pull-request-available
>             Fix For: 0.8.0
>
>
> I ran into an odd issue where, even though I was casting to {{arrow::PrimitiveArray}}, it picked up the {{raw_values}} method from a subclass of {{PrimitiveArray}} (which includes a slice offset)
> {code}
> (gdb) p reinterpret_cast<const int64_t*>(reinterpret_cast<const PrimitiveArray&>(arr).raw_values())[0]
> $9 = 25
> (gdb) p reinterpret_cast<const int64_t*>(reinterpret_cast<const PrimitiveArray&>(arr).raw_values_)[0]
> $10 = 10
> (gdb) p arr.offset()
> $11 = 15
> {code}
> I think the {{raw_values}} method in PrimitiveArray should be deprecated and removed, since it is dangerous to use as it does not include a slice offset, if any



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)