JonSnow1807 opened a new pull request, #1012: URL: https://github.com/apache/arrow-nanoarrow/pull/1012
Closes #824. The IPC reader now reads BinaryView and Utf8View arrays and the writer writes them. The decoder checks each RecordBatch's `variadicBufferCounts` (one count per view field, each within the message's buffer count) and adds the variadic data buffers to the output using the buffer support from #808. The encoder writes the view buffers and the variadic buffers, and writes `variadicBufferCounts` when a message has a view array. Dictionary-encoded view types work too. View batches from a stream of the other byte order return ENOTSUP, as in Arrow C++. Tests cover round trips (nulls, inlined and out-of-line values, many variadic buffers, nested types, dictionaries, LZ4 and ZSTD, single-field decoding), malformed counts, and Arrow C++ in both directions. `generated_binary_view.stream` now reads, and pyarrow 26.0.1 round trips match value by value. Checking that a view's buffer index and offset are in range is #982's job. With this PR alone a corrupted view passes FULL validation and a corrupted delta dictionary crashes. With #982 both are rejected, so it may be best to merge this after #982. Code drafted by both human and AI, and reviewed by human. -- 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]
