arrow-julia icon indicating copy to clipboard operation
arrow-julia copied to clipboard

MonthlyDates

Open matthieugomez opened this issue 4 years ago • 0 comments

MonthlyDates.jl defines a MonthlyDate <: TimeType, which corresponds to elapsed months.

Unfortunately, it does not work when writing arrow files

using Arrow, MonthlyDates
Arrow.write("~/test.arrow", (a = [MonthlyDate(1990, 1)],))
ERROR: TaskFailedException
Stacktrace:
 [1] wait
   @ ./task.jl:317 [inlined]
 [2] write(io::IOStream, source::NamedTuple{(:a,), Tuple{Vector{MonthlyDate}}}, writetofile::Bool, largelists::Bool, compress::Nothing, denseunions::Bool, dictencode::Bool, dictencodenested::Bool, alignment::Int64, maxdepth::Int64, ntasks::Float64)
   @ Arrow ~/.julia/packages/Arrow/ggVa0/src/write.jl:165
 [3] #94
   @ ~/.julia/packages/Arrow/ggVa0/src/write.jl:86 [inlined]
 [4] open(::Arrow.var"#94#95"{Bool, Nothing, Bool, Bool, Bool, Int64, Int64, Float64, Bool, NamedTuple{(:a,), Tuple{Vector{MonthlyDate}}}}, ::String, ::Vararg{String, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Base ./io.jl:330
 [5] open
   @ ./io.jl:328 [inlined]
 [6] #write#93
   @ ~/.julia/packages/Arrow/ggVa0/src/write.jl:85 [inlined]
 [7] write(filename::String, tbl::NamedTuple{(:a,), Tuple{Vector{MonthlyDate}}})
   @ Arrow ~/.julia/packages/Arrow/ggVa0/src/write.jl:85
 [8] top-level scope
   @ REPL[17]:1

    nested task error: MethodError: Cannot `convert` an object of type Dates.Month to an object of type Dates.Second
    Closest candidates are:
      convert(::Type{P}, ::Arrow.Duration{U}) where {P<:Dates.Period, U} at /Users/matthieugomez/.julia/packages/Arrow/ggVa0/src/eltypes.jl:357
      convert(::Type{Dates.Second}, ::Dates.Minute) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Dates/src/periods.jl:417
      convert(::Type{Dates.Second}, ::Dates.Hour) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Dates/src/periods.jl:417

Would it be possible for Arrow to accept MonthlyDates? Can I do anything on the MonthlyDates.jl side to improve compatibility?

matthieugomez avatar May 19 '21 23:05 matthieugomez