Query.jl fails - Is WeakRefString string comparison broken?

query

#1

I’ve been chasing a strange problem in Query.jl where queries with @where that worked a few days ago now return no results. I’ve been trying to produce a clean MWE and will post it if I succeed. The query in question is:

docsdf = CSV.read(dataloc)
df1 = @from i in docsdf begin
         @select {i.Test, i.Type, i.Analyze, TgSize=i.DwldSize, TgRate=i.DwldTargetRate, i.Cores, i.Elapsed,
         CPUsec=i.DocsCPUSec, CPUutil=i.DocsCPU, NWtput=i.DtnwMBps, Start=i.DwldStart, Compl=i.DwldComplete,
         AvgRT=i.DwldAvgRT}
         @collect DataFrame
end
df2 = @from j in df1 begin
         @where j.Type == "Download" && j.Analyze == "TRUE"
         @select {j.Test, j.TgSize, j.TgRate, j.Cores, j.Elapsed, j.CPUsec, j.CPUutil, j.NWtput, j.Start, j.Compl, j.AvgRT}
         @collect DataFrame
end

The :Type and :Analyze columns in the docsdf DataFrame have elements with “Download” and “TRUE” WeakRefString values. Up until a few days ago, this query worked nicely with my dataset. Now it returns a DataFrame with no rows.

I see that a change to WeakRefStrings was committed 4 days ago to help with the ODBC.jl package. It could be coincidental but that’s about the point my query above started to fail.

Any ideas?

Julia Version 0.6.0
Commit 903644385b* (2017-06-19 13:05 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, westmere)

- CSV                           0.1.5
- Query                         0.7.2
- WeakRefStrings                0.2.0