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]