WillAyd commented on code in PR #710: URL: https://github.com/apache/arrow-nanoarrow/pull/710#discussion_r1953137338
########## src/nanoarrow/common/inline_types.h: ########## @@ -864,6 +871,9 @@ struct ArrowArrayPrivateData { // Size of each variadic buffer in bytes int64_t* variadic_buffer_sizes; + + // The current offset used to build list views + int64_t list_view_offset; Review Comment: What we need to keep track of somehow is the last valid offset preceding the value currently being appended, so we can calculate the `current_child_length - previous_child_length` to get the size of the current element. The private data is necessary in the current implementation because we aren't keeping track of the most recently valid offset when Null/Empty data is being appended. Those types of data are currently inserting an offset and size of 0 for simplicity. We can certainly change that append to keep repeating the most recently valid offset value with a size of 0 for empty elements, but I think that would either still require us to use private data OR backtrack to the last element contained within a `NANOARROW_BUFFER_TYPE_VIEW_OFFSET` during `_ArrowArrayAppendEmptyInternal` -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org