Add gather macro
Add gather macro which uses gather function in QueryOperators.jl.
Codecov Report
Merging #213 into master will decrease coverage by
7.15%. The diff coverage isn/a.
@@ Coverage Diff @@
## master #213 +/- ##
==========================================
- Coverage 90.02% 82.87% -7.16%
==========================================
Files 5 5
Lines 441 397 -44
==========================================
- Hits 397 329 -68
- Misses 44 68 +24
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/standalone_query_macros.jl | 100% <ø> (ø) |
:arrow_up: |
| src/Query.jl | 76.92% <ø> (-1.65%) |
:arrow_down: |
| src/query_translation.jl | 80.89% <0%> (-8.66%) |
:arrow_down: |
| src/table_query_macros.jl | 97.05% <0%> (+4.85%) |
:arrow_up: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update dc5914e...452e48f. Read the comment docs.
What to do next:
I think the next step would be to add a method to
Base.eltypefor theEnumerableGathertype.You can look up how that is implemented for some of the other enumerable types
It should return the type of the elements that are being iterated by
EnumerableGather(so some sort ofNamedTuple).As soon as we add that method, we will get two things: 1) nice table like printing of the result, and 2) the ability to pipe things into e.g. a
DataFrameRight now we don't have a method for
Base.eltype, so it is falling back to the generic method, which will just returnAnyThat is technically correct (because everything is a subtype of
Any)But downstream consumers of the iterator won't know that this is actually iterating named tuples, and therefor won't interpret the result as a table
By adding a method to
eltype, we can change that.The trick is to have at least one type parameter in
EnumerableGatherthat can hold the eltype, and then make sure you set that accordingly in thegatherfunction
Things still to do:
- [ ] Tag a QueryOperators release and bump its version in REQUIRE
- [ ] Write docs
- [ ] Add it to NEWS