samtalki opened a new pull request, #607:
URL: https://github.com/apache/arrow-julia/pull/607

   ## Summary
   
   First PR of the C Data Interface stack for GH-184, extracting null and 
primitive array import from #603 as requested there.
   
   - Immutable `ArrowSchema` and `ArrowArray` C layout structs with layout 
assertions.
   - `Arrow.from_c_data(schema_ptr, array_ptr; convert=true)` for null and 
primitive arrays.
   - Validates pointer layout, child and buffer counts, offset arithmetic, 
known flag bits, dictionary pointer consistency, release idempotency, and reads 
after release. Declared null counts are trusted like Arrow C++ and arrow-rs; 
`null_count == -1` requires the validity bitmap it is resolved from, like 
nanoarrow; reserved flag bits are ignored.
   - Import moves the base `ArrowSchema` and `ArrowArray` structures into Julia 
owned storage and marks the sources released without calling their callbacks; 
callers may free or reuse the passed structures once `from_c_data` returns.
   - Aligned buffers are viewed zero copy behind a shared release owner; 
misaligned fixed width buffers are copied into aligned storage; `copy`, 
`collect`, `deepcopy`, and `serialize` materialize Julia owned data through the 
release liveness gate.
   
   Struct, boolean, string, binary, list, and export support land in the follow 
up PRs.
   
   ## Stack
   
   Base is `main`.
   
   Follow up PRs:
   
   - #603 adds struct array import as Tables.jl column tables.
   - #604 expands import coverage.
   - #605 adds C Data export.
   - #606 adds hardening and smoke tests.
   
   ## Size
   
   Against `main`: 6 files changed, 1246 insertions, 1 deletion.
   
   ## Validation
   
   - `git diff --check main...HEAD`: passed.
   - ABI smoke: `ArrowSchema` and `ArrowArray` are isbits structs with expected 
C layout sizes.
   - Focused C Data tests: 93/93 passed.
   - Full package tests (bounds checked): 66278/66278 passed.
   
   ## AI Assistance
   
   Co-authored-by: Robert Buessow <[email protected]>
   Co-authored-by: Olle Martensson <[email protected]>
   Generated-by: OpenAI 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]

Reply via email to