[ 
https://issues.apache.org/jira/browse/ARROW-2328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410246#comment-16410246
 ] 

ASF GitHub Bot commented on ARROW-2328:
---------------------------------------

Adriandorr commented on a change in pull request #1766: ARROW-2328: [C++] 
Writing a slice with feather ignores the offset.
URL: https://github.com/apache/arrow/pull/1766#discussion_r176562102
 
 

 ##########
 File path: cpp/src/arrow/ipc/feather.cc
 ##########
 @@ -558,8 +577,18 @@ class TableWriter::TableWriterImpl : public ArrayVisitor {
       // byte boundary, and we write this much data into the stream
       int64_t null_bitmap_size = 
GetOutputLength(BitUtil::BytesForBits(values.length()));
       if (values.null_bitmap()) {
-        RETURN_NOT_OK(WritePadded(stream_.get(), values.null_bitmap()->data(),
-                                  null_bitmap_size, &bytes_written));
+        auto null_bitmap = values.null_bitmap();
+        if (values.offset() > 0) {
+          if (!pool_) {
+            return Status::Invalid(
+                "Require memory pol to write array slice (i.e. offset > 0) 
with nulls.");
+          }
+          RETURN_NOT_OK(GetTruncatedBitmap(values.offset(), values.length(), 
null_bitmap,
+                                           pool_, &null_bitmap));
+        }
+
+        RETURN_NOT_OK(WritePadded(stream_.get(), null_bitmap->data(), 
null_bitmap_size,
 
 Review comment:
   I agree that would be better if it is possible. Same goes for the arrow 
writing code of course. I can give it a try tomorrow.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Writing a slice with feather ignores the offset
> -----------------------------------------------
>
>                 Key: ARROW-2328
>                 URL: https://issues.apache.org/jira/browse/ARROW-2328
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 0.8.0
>            Reporter: Adrian
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.10.0
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> Writing a slice from row n of length m of an array to feather would write the 
> first m rows, instead of the rows starting at n.
> The null bitmap also ends up misaligned. Also tested and fixed in the pull 
> request below.
>  I've created a pull request with tests and fix here: 
> [Pullrequest#1766|https://github.com/apache/arrow/pull/1766]
>  
>  



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

Reply via email to