Commits


Raphael Taylor-Davies authored and Chao Sun committed 46040c9189c
ARROW-8680: [Rust] Fix ComplexObjectArray null value shifting The null shifting logic within ComplexObjectArrayReader is incorrect as it doesn't take into account the num_readers offset within the def_levels buffer. This results in failing assertions when a read spans more than one column chunk containing null values. Without the change the added test will fail with ``` assertion failed: self.data.is_some() thread 'arrow::array_reader::tests::test_complex_array_reader_def_and_rep_levels' panicked at 'assertion failed: self.data.is_some()', parquet/src/data_type.rs:124:9 ``` This is due to the shifting logic resulting in the non-null `ByteArray` values getting shifted out of alignment with where the definition levels state that non-null values should be found. Unfortunately for the test I couldn't see an easy way to use the existing page helpers, as they assume primitive value types that can be generated randomly from a given range. Closes #7091 from tustvold/arrow-8680-fix-complex-object-array-null-shifting Authored-by: Raphael Taylor-Davies <r.taylordavies@googlemail.com> Signed-off-by: Chao Sun <sunchao@apache.org>