AlenkaF commented on issue #40750:
URL: https://github.com/apache/arrow/issues/40750#issuecomment-2017858344

   Looking at the C++ code it seems the offset of an offsets array is applied 
to the child arrays 
https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/array_nested.cc#L796-L798
   
   But in the case of empty child arrays this fails with
   
   ```
   ArrowInvalid: List child array invalid: Invalid: Struct child array #0 has 
length smaller than expected for struct array (0 < 1)
   /Users/alenkafrim/repos/arrow/cpp/src/arrow/array/validate.cc:267  
ValidateListLike(type)
   ```
   and the source of the error can be found here:
   
https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/validate.cc#L309-L313
   
   I think a check for this corner case where data is empty but the offset 
array has an offset can be added in `MapArray::FromArraysInternal`. In this 
case the offset should not be applied to the child arrays.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to