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

   The current implementation depends on `Arrow.default` returning a sentinel 
object when the value is missing.  This usually works, but occasionally has 
problems.  This PR simplifies the implementation and solves some of the 
problematic corner-cases.
   
   One example of a problematic corner-case is a column of lists of structs:
   
   ```julia
   julia> [(a=1,b=2), missing, (a=3,b=4)]
   3-element Vector{Union{Missing, @NamedTuple{a::Int64, b::Int64}}}:
    (a = 1, b = 2)
    missing
    (a = 3, b = 4)
   ```
   
   It's possible that users may wrap this Vector in a `SubArray`.  In this case 
`Arrow.default(::Type{<:SubArray })` actually uses 
`Arrow.default(::Type{<:AbstractVector})` which enforces that the parent-type 
is a `Vector` - this is not always the case.  For example, the parent may well 
be of type `Arrow.Struct` if the data being written was also read from an Arrow 
file.


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