You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by om...@apache.org on 2023/01/04 20:51:23 UTC

[arrow-julia] branch cv/non-concrete-missing-fix created (now a3960ae)

This is an automated email from the ASF dual-hosted git repository.

omus pushed a change to branch cv/non-concrete-missing-fix
in repository https://gitbox.apache.org/repos/asf/arrow-julia.git


      at a3960ae  Fix issue with missing and non-concrete Arrow types

This branch includes the following new commits:

     new a3960ae  Fix issue with missing and non-concrete Arrow types

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 issue with missing and non-concrete Arrow types

Posted by om...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

omus pushed a commit to branch cv/non-concrete-missing-fix
in repository https://gitbox.apache.org/repos/asf/arrow-julia.git

commit a3960ae12632dc6f817aadb11fb6bdc038ef8405
Author: Curtis Vogt <cu...@gmail.com>
AuthorDate: Wed Jan 4 14:31:44 2023 -0600

    Fix issue with missing and non-concrete Arrow types
---
 src/ArrowTypes/src/ArrowTypes.jl | 3 +++
 test/runtests.jl                 | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/src/ArrowTypes/src/ArrowTypes.jl b/src/ArrowTypes/src/ArrowTypes.jl
index 115c102..a35fae4 100644
--- a/src/ArrowTypes/src/ArrowTypes.jl
+++ b/src/ArrowTypes/src/ArrowTypes.jl
@@ -344,6 +344,9 @@ function ToArrow(x::A) where {A}
         for i = 2:length(x)
             @inbounds T = promoteunion(T, typeof(toarrow(x[i])))
         end
+        if T === Missing
+            T = promoteunion(T, typeof(toarrow(default(S))))
+        end
     end
     return ToArrow{T, A}(x)
 end
diff --git a/test/runtests.jl b/test/runtests.jl
index 343ee77..86072fc 100644
--- a/test/runtests.jl
+++ b/test/runtests.jl
@@ -548,6 +548,12 @@ original_table = (; col = [ ZonedDateTime(DateTime(1, 2, 3, 4, 5, 6), tz"UTC+3")
 table = Arrow.Table(joinpath(@__DIR__, "old_zdt.arrow"))
 @test original_table.col == table.col
 
+# https://github.com/apache/arrow-julia/issues/367
+t = (; x=Union{ZonedDateTime,Missing}[missing])
+a = Arrow.Table(Arrow.tobuffer(t))
+@test Tables.schema(a) == Tables.schema(t)
+@test isequal(a.x, t.x)
+
 end # @testset "misc"
 
 end