Skip to content

@left_outer_join is broken in the latest version #215

@tanhevg

Description

@tanhevg

Here is what I get when I try to run the example from the documentation.

julia> using DataFrames,Query
[ Info: Recompiling stale cache file /bmm/home/et517/.julia/compiled/v1.0/Query/wGX7b.ji for Query [1a8c2f83-1ff3-5112-b086-8aa67b057ba1]

julia> source_df1 = DataFrame(a=[1,2,3], b=[1.,2.,3.]);

julia> source_df2 = DataFrame(c=[2,4,2], d=["John", "Jim","Sally"]);

julia> q = @from i in source_df1 begin
           @left_outer_join j in source_df2 on i.a equals j.c
           @select {i.a,i.b,j.c,j.d}
           @collect DataFrame
       end
ERROR: ArgumentError: unable to construct DataFrame from QueryOperators.EnumerableMapMany{Any,QueryOperators.EnumerableGroupJoin{NamedTuple{(:i, Symbol("##358")),Tuple{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Array{NamedTuple{(:c, :d),Tuple{Int64,String}},1}}},Int64,NamedTuple{(:c, :d),Tuple{Int64,String}},QueryOperators.EnumerableIterable{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Tables.DataValueRowIterator{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Tables.RowIterator{NamedTuple{(:a, :b),Tuple{Array{Int64,1},Array{Float64,1}}}}}},QueryOperators.EnumerableIterable{NamedTuple{(:c, :d),Tuple{Int64,String}},Tables.DataValueRowIterator{NamedTuple{(:c, :d),Tuple{Int64,String}},Tables.RowIterator{NamedTuple{(:c, :d),Tuple{Array{Int64,1},Array{String,1}}}}}},getfield(Main, Symbol("##3#8")),getfield(Main, Symbol("##4#9")),getfield(Main, Symbol("##5#10"))},getfield(Main, Symbol("##6#11")),getfield(Main, Symbol("##7#12"))}
Stacktrace:
 [1] DataFrame(::QueryOperators.EnumerableMapMany{Any,QueryOperators.EnumerableGroupJoin{NamedTuple{(:i, Symbol("##358")),Tuple{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Array{NamedTuple{(:c, :d),Tuple{Int64,String}},1}}},Int64,NamedTuple{(:c, :d),Tuple{Int64,String}},QueryOperators.EnumerableIterable{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Tables.DataValueRowIterator{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Tables.RowIterator{NamedTuple{(:a, :b),Tuple{Array{Int64,1},Array{Float64,1}}}}}},QueryOperators.EnumerableIterable{NamedTuple{(:c, :d),Tuple{Int64,String}},Tables.DataValueRowIterator{NamedTuple{(:c, :d),Tuple{Int64,String}},Tables.RowIterator{NamedTuple{(:c, :d),Tuple{Array{Int64,1},Array{String,1}}}}}},getfield(Main, Symbol("##3#8")),getfield(Main, Symbol("##4#9")),getfield(Main, Symbol("##5#10"))},getfield(Main, Symbol("##6#11")),getfield(Main, Symbol("##7#12"))}) at /bmm/home/et517/.julia/packages/DataFrames/1PqZ3/src/other/tables.jl:32
 [2] collect(::QueryOperators.EnumerableMapMany{Any,QueryOperators.EnumerableGroupJoin{NamedTuple{(:i, Symbol("##358")),Tuple{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Array{NamedTuple{(:c, :d),Tuple{Int64,String}},1}}},Int64,NamedTuple{(:c, :d),Tuple{Int64,String}},QueryOperators.EnumerableIterable{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Tables.DataValueRowIterator{NamedTuple{(:a, :b),Tuple{Int64,Float64}},Tables.RowIterator{NamedTuple{(:a, :b),Tuple{Array{Int64,1},Array{Float64,1}}}}}},QueryOperators.EnumerableIterable{NamedTuple{(:c, :d),Tuple{Int64,String}},Tables.DataValueRowIterator{NamedTuple{(:c, :d),Tuple{Int64,String}},Tables.RowIterator{NamedTuple{(:c, :d),Tuple{Array{Int64,1},Array{String,1}}}}}},getfield(Main, Symbol("##3#8")),getfield(Main, Symbol("##4#9")),getfield(Main, Symbol("##5#10"))},getfield(Main, Symbol("##6#11")),getfield(Main, Symbol("##7#12"))}, ::Type{DataFrame}) at /bmm/home/et517/.julia/packages/Query/8WGWK/src/sinks/sink_type.jl:2
 [3] top-level scope at none:0

(julia_scratch) pkg> st
    Status `Project.toml`
  [a93c6f00] DataFrames v0.14.1
  [1a8c2f83] Query v0.10.1

julia> versioninfo()
Julia Version 1.0.0
Commit 5d4eaca0c9 (2018-08-08 20:58 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, sandybridge)
Environment:
  JULIA = /project/soft/linux64/src/julia-1.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions