queryverse / queryverse/QuerySQLite.jl
@mapmany missing?
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 4
- Forks
- 2
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 1
Description
Using master, it looks like the @mapmany command is missing. For the groupby and then split approach mapmany is critical, is it just not implemented? I didn't see it mentioned in the codebase.
julia> db = SQLite.DB("data.sqlite3");
julia> getproperty(db, tbl[1]) |>
@groupby(_.cell_id) |>
# filter stuff
@map({cell_id=key(_), rows=_}) |>
@mapmany(i->i.rows, (i, j)->{j...}) |>
DataFrame;
MethodError: no method matching mapmany(::QuerySQLite.SourceCode{SQLite.DB}, ::var"#113#123", ::Expr, ::var"#114#124", ::Expr)
Closest candidates are:
mapmany(!Matched::QueryOperators.Enumerable, ::Function, ::Expr, ::Function, ::Expr) at /home/tlnagy/.julia/packages/QueryOperators/g4G21/src/enumerable/enumerable_mapmany.jl:42
Stacktrace:
[1] (::var"#112#122")(::QuerySQLite.SourceCode{SQLite.DB}) at /home/tlnagy/.julia/packages/Query/AwBtd/src/standalone_query_macros.jl:205
[2] |>(::QuerySQLite.SourceCode{SQLite.DB}, ::var"#112#122") at ./operators.jl:823
[3] top-level scope at In[30]:1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the pipeline in the issue with QuerySQLite and SQLite, then compare the missing mapmany call with QueryOperators' enumerable_mapmany.jl implementation. Read the generated call in standalone_query_macros.jl and determine where the SQLite source fails to support it. Done means the groupby, split, and mapmany example runs successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, sqlite
- Domain
- backend, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100