quinnj opened a new pull request, #612: URL: https://github.com/apache/arrow-julia/pull/612
`variadicBufferCounts` is an Int64 vector in the Arrow schema, but the reader uses Int32 entries. With multiple view columns, the second count reads the high half of the first count, leaving later columns without their payload buffers. Read Int64 counts. The reported Polars 1.21 file also places them at a four-byte-aligned address, so the shared FlatBuffers array constructor now copies unaligned data using checked byte spans and Base reinterpretation. Naturally aligned metadata retains its zero-copy path. Fixes #590. Validation: reproduced the original 100-row Polars failure; all original values now match. Two small independent PyArrow/Polars fixtures cover counts `[1,2,0,1]`, text/binary/nested views, following primitive columns, borrowing, and truncated/oversized unaligned input. All 22 focused checks pass, including with optional bounds checks disabled. Full two-thread suites pass on Julia 1.9.4 and 1.12.7 (66,217 checks each). Formatter and diff checks pass. This is a focused 2.x fix. The rewrite in #609 already uses Int64 counts but has a different reader; no broader rewrite validation is claimed. The patch applies cleanly alongside #611. Existing aligned malformed-IPC handling is unchanged. Co-authored by Codex -- 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]
