You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/01/17 10:03:42 UTC

[GitHub] [arrow] jhorstmann commented on pull request #9211: ARROW-11239: [Rust] Fixed equality with offsets and nulls

jhorstmann commented on pull request #9211:
URL: https://github.com/apache/arrow/pull/9211#issuecomment-761764712


   @jorgecarleitao @alamb The testcase I had is not yet fixed, for reference it's [ARROW-11267] with
   
   ```
       #[test]
       fn test_list_different_offsets() {
           let a =
               create_list_array(&[Some(&[0, 0]), Some(&[1, 2]), Some(&[3, 4])]);
           let b =
               create_list_array(&[Some(&[1, 2]), Some(&[3, 4]), Some(&[5, 6])]);        let a_slice = a.slice(1, 2);
           let b_slice = b.slice(0, 2);
           test_equal(&a_slice, &b_slice, true);
       } 
   ```
   
   I'm currently thinking it's related to the `child_logical_null_buffer` and `logical_list_bitmap` functions. One problem with that implementation is that it creates an all-valid bitmap as a default when there is no null bitmap in order to simplify the following calculations. This newly created bitmap then has an offset of 0, while for actual nullable arrays the offset is that of the parent data parameter. Maybe one approach would be to always pass tuples of `(offset, Buffer)` for the null buffers.
   
   
    [1]: https://issues.apache.org/jira/browse/ARROW-11267


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org