Wolf Vollprecht created ARROW-3478:
--------------------------------------

             Summary: [C++] API add value / null mask buffer accessor to 
ArrayData
                 Key: ARROW-3478
                 URL: https://issues.apache.org/jira/browse/ARROW-3478
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Wolf Vollprecht


Currently, the ArrayData struct has the `std::vector<Buffer> buffers` member.

The buffers will (from reading the code) either be [null_mask, data] or [data] 
(if the null mask does not exist).

I'm not sure if there is an easy way to get the null mask reliably at the 
moment. If I am understanding correctly, the way to do it right now is to check 
if the vector has one or two elements, and then use `buffers[0]` as the null 
mask, and `buffers[1]` as the values.

I also did not find information regarding this in the spec. So I am not sure if 
I can rely on this behavior in future versions of the library.

I am wondering wether adding explicit API for this would make this more 
reliable. 

 

For example two more interface functions
 * `std::shared_ptr<Buffer> mask()`
 * `std::shared_ptr<Buffer> values()` 

Would make it easy for me to rely on the interface to "do the right thing".

 

Or am I missing something?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to