Closed cjprybol closed 7 years ago
Thanks for the review! I'll get to these edits soon. re: slurping/splatting, I'm not sure if I used the right one. Both descriptions are used in the docs, but I'll say something more explicit in the commit to avoid any ambiguity.
Funny, I didn't remember that term. It's fine then.
That should address all of the comments. I added more tests to assert that the array promotion was working as intended, and a couple tests for vcatting 3 or more datatables to make sure my offset copy!
s were working as intended. I think I'm finally starting to get squashing/rebasing/amending commits too. Coverage drops seem unrelated and should be addressed by https://github.com/JuliaData/DataTables.jl/pull/31.
@nalimilan
No worries! It's not that easy to keep up with the rate at which you do manage to review either. Thanks, as always, for putting in the time to help me improve these PRs.
Coverage drop doesn't seem related here either. Several functions flagged by Coveralls are handled by https://github.com/JuliaData/DataTables.jl/pull/31
Thanks!
The current
vcat
operates on Arrays of DataTablesDataTable[]
, whileBase.vcat
utilizes slurping to capture any number of inputs as a tuple or argument to concatenate. This PR changesvcat
to followBase.vcat
's lead and utilizes a function structure ofvcat(dts::AbstractDataTable...)
. Uses @nalimilan's@generated
function to implement a new type ofAbstractArray
promotion rule that ideally can be tested here and transfered into Base in the near future https://github.com/JuliaLang/julia/pull/20815. This also removes the prior assumptions that were made about how to join datatables that were out of order or had columns that were only present in some of the arguments and not others.