jrevels commented on PR #103:
URL: https://github.com/apache/arrow-julia/pull/103#issuecomment-2079633616

   > BTW the PR title here says FixedSizeBinary, but what was implemented was 
FixedSizeList; why is that?
   
   IIRC back when this PR was authored, Arrow.jl would (de)serialize Julia 
values with type `FixedSizeList` w/ `UInt8` eltype as Arrow `FixedSizeBinary` 
values, and for w/e reason, that seemed like the right/easiest path to use in 
this PR (can't really remember the rationale for that, or whether there even 
was one 😅)
   
   idk if that is still true nowadays though
   
   here's the relevant `arrowtype` definition that existed when this PR was 
authored:
   
   ```
   function arrowtype(b, x::FixedSizeList{T, A}) where {T, A}
       N = ArrowTypes.getsize(Base.nonmissingtype(T))
       if eltype(A) == UInt8
           Meta.fixedSizeBinaryStart(b)
           Meta.fixedSizeBinaryAddByteWidth(b, Int32(N))
           return Meta.FixedSizeBinary, Meta.fixedSizeBinaryEnd(b), nothing
       else
           children = [fieldoffset(b, "", x.data)]
           Meta.fixedSizeListStart(b)
           Meta.fixedSizeListAddListSize(b, Int32(N))
           return Meta.FixedSizeList, Meta.fixedSizeListEnd(b), children
       end
   end
   ```


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