Wes McKinney created ARROW-1904:
-----------------------------------

             Summary: [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
             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)

Reply via email to