queryverse / queryverse/Query.jl

Getting error backtraces without exception description

Open
#135 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Julia
Stars
403
Forks
48
Avg merge
3d 6h
Merged PRs (30d)
6

Description

For some reason the exception backtraces generated when queries are messed up don't have a description of what the error was. For instance:

julia> aggdata = @from d in data begin
         @where d.target == "vocals" && d.metric == "SDR" && d.method == "UHL3"
         @select d.score
         @collect DataTable
       end
ERROR:
Stacktrace:
 [1] DataTables.DataTable(::Query.EnumerableSelect{DataValues.DataValue{Float64},Query.EnumerableWhere{NamedTuples._NT_track__id_is__dev_target__id_method__id_metric__id_target_method_metric
_score_title_genre_filename{DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue
{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{Float64},DataValues.DataValue{WeakRefString{UInt8}},Dat
aValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}}},Query.EnumerableIterable{NamedTuples._NT_track__id_is__dev_target__id_method__id_metric__id_target_met
hod_metric_score_title_genre_filename{DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValue
s.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{Float64},DataValues.DataValue{WeakRefString
{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}}},IterableTables.DataTableIterator{NamedTuples._NT_track__id_is__dev_target__id_method__id_met
ric__id_target_method_metric_score_title_genre_filename{DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue
{Int64},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{Float64},DataValues.DataValu
e{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}}},Tuple{NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{Int64,
1},NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{WeakRefString{UInt8},1},NullableArrays.NullableArray{
WeakRefString{UInt8},1},NullableArrays.NullableArray{WeakRefString{UInt8},1},NullableArrays.NullableArray{Float64,1},NullableArrays.NullableArray{WeakRefString{UInt8},1},NullableArrays.NullableAr
ray{WeakRefString{UInt8},1},NullableArrays.NullableArray{WeakRefString{UInt8},1}}}},##79#81},##80#82}) at /Users/srussell/.julia/v0.6/IterableTables/src/integrations/datatables.jl:154
 [2] collect(::Query.EnumerableSelect{DataValues.DataValue{Float64},Query.EnumerableWhere{NamedTuples._NT_track__id_is__dev_target__id_method__id_metric__id_target_method_metric_score_title_g
enre_filename{DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{WeakRefStrin
g{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{Float64},DataValues.DataValue{WeakRefString{UInt8}},DataValues.Data
Value{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}}},Query.EnumerableIterable{NamedTuples._NT_track__id_is__dev_target__id_method__id_metric__id_target_method_metric_s
core_title_genre_filename{DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{W
eakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{Float64},DataValues.DataValue{WeakRefString{UInt8}},DataV
alues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}}},IterableTables.DataTableIterator{NamedTuples._NT_track__id_is__dev_target__id_method__id_metric__id_target_
method_metric_score_title_genre_filename{DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataValues.DataValue{Int64},DataVal
ues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{Float64},DataValues.DataValue{WeakRefStri
ng{UInt8}},DataValues.DataValue{WeakRefString{UInt8}},DataValues.DataValue{WeakRefString{UInt8}}},Tuple{NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{Int64,1},NullableArra
ys.NullableArray{Int64,1},NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{Int64,1},NullableArrays.NullableArray{WeakRefString{UInt8},1},NullableArrays.NullableArray{WeakRefStrin
g{UInt8},1},NullableArrays.NullableArray{WeakRefString{UInt8},1},NullableArrays.NullableArray{Float64,1},NullableArrays.NullableArray{WeakRefString{UInt8},1},NullableArrays.NullableArray{WeakRef
String{UInt8},1},NullableArrays.NullableArray{WeakRefString{UInt8},1}}}},##79#81},##80#82}, ::Type{DataTables.DataTable}) at /Users/srussell/.julia/v0.6/Query/src/sinks/sink_type.jl:2

As a new user I seem to be running into these a lot.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the query shown in the report, then inspect Query/src/sinks/sink_type.jl:2 and the reported DataTables construction path in IterableTables/src/integrations/datatables.jl:154. Trace where the exception description is lost; done means malformed queries produce a backtrace that also includes the underlying error description.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.