fix accidental invocation of _unsafe_load_tuple (#124)
* fix accidental invocation of _unsafe_load_tuple
* bump Project.toml
diff --git a/Project.toml b/Project.toml
index 716b596..650650f 100644
--- a/Project.toml
+++ b/Project.toml
@@ -1,7 +1,7 @@
name = "Arrow"
uuid = "69666777-d1a9-59fb-9406-91d4454c9d45"
authors = ["quinnj <quinn.jacobd@gmail.com>"]
-version = "1.2.3"
+version = "1.2.4"
[deps]
BitIntegers = "c3b6d118-76ef-56ca-8cc7-ebb389d030a1"
diff --git a/src/arraytypes/fixedsizelist.jl b/src/arraytypes/fixedsizelist.jl
index d032299..86e35d8 100644
--- a/src/arraytypes/fixedsizelist.jl
+++ b/src/arraytypes/fixedsizelist.jl
@@ -38,7 +38,7 @@
return missing
else
off = (i - 1) * N
- if X === T && isbitstype(Y)
+ if X === T && isbitstype(Y) && l.data isa Vector{UInt8}
tup = _unsafe_load_tuple(NTuple{N,Y}, l.data, off + 1)
else
tup = ntuple(j->l.data[off + j], N)
diff --git a/test/runtests.jl b/test/runtests.jl
index 512c767..8edc57c 100644
--- a/test/runtests.jl
+++ b/test/runtests.jl
@@ -236,12 +236,19 @@
@test eltype(av) == String
# 121
-
a = PooledArray(repeat(string.('S', 1:130), inner=5), compress=true)
@test eltype(a.refs) == UInt8
av = Arrow.toarrowvector(a)
@test eltype(av.indices) == Int16
+# 123
+t = (x = collect(zip(rand(10), rand(10))),)
+io = IOBuffer()
+Arrow.write(io, t)
+seekstart(io)
+t2 = Arrow.Table(io)
+@test t2.x == t.x
+
end # @testset "misc"
end