You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by qu...@apache.org on 2023/06/08 14:00:29 UTC
[arrow-julia] branch jq-458 created (now a988fb9)
This is an automated email from the ASF dual-hosted git repository.
quinnj pushed a change to branch jq-458
in repository https://gitbox.apache.org/repos/asf/arrow-julia.git
at a988fb9 Fix case of recursively nested lists
This branch includes the following new commits:
new a988fb9 Fix case of recursively nested lists
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[arrow-julia] 01/01: Fix case of recursively nested lists
Posted by qu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
quinnj pushed a commit to branch jq-458
in repository https://gitbox.apache.org/repos/asf/arrow-julia.git
commit a988fb97302b8f79163616c83fa8541c4afdf8b0
Author: Jacob Quinn <qu...@gmail.com>
AuthorDate: Thu Jun 8 07:59:00 2023 -0600
Fix case of recursively nested lists
Fixes issue reported by @Moelf in #458.
The issue is we need to get the eltype from the recursively built
child array instead of as a top-level translation of the current field type.
---
src/table.jl | 2 +-
test/runtests.jl | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/table.jl b/src/table.jl
index ada392d..e61445c 100644
--- a/src/table.jl
+++ b/src/table.jl
@@ -650,7 +650,7 @@ function build(f::Meta.Field, L::ListTypes, batch, rb, de, nodeidx, bufferidx, c
# juliaeltype returns Vector for List, translate to SubArray
S = Base.nonmissingtype(T)
if S <: Vector
- ST = SubVector{eltype(S), typeof(A)}
+ ST = SubVector{eltype(A), typeof(A)}
T = S == T ? ST : Union{Missing, ST}
end
end
diff --git a/test/runtests.jl b/test/runtests.jl
index 4f84e7c..e0e974b 100644
--- a/test/runtests.jl
+++ b/test/runtests.jl
@@ -698,6 +698,15 @@ t = Arrow.Table(joinpath(dirname(pathof(Arrow)), "../test/java_compressed_zero_l
end
+@testset "# 458" begin
+
+x = (; a=[[[[1]]]])
+buf = Arrow.tobuffer(x)
+t = Arrow.Table(buf)
+@test t.a[1][1][1][1] == 1
+
+end
+
end # @testset "misc"
end