Add ability to pass directory of inputs to Arrow.Table/Arrow.Stream (#246)
authorJacob Quinn <quinn.jacobd@gmail.com>
Tue, 28 Sep 2021 23:32:21 +0000 (17:32 -0600)
committerGitHub <noreply@github.com>
Tue, 28 Sep 2021 23:32:21 +0000 (17:32 -0600)
commit8d486c05cf441e78b4764f8a67b9ca903e88dafb
treec95ccfa057e275cdc31ef13178b312471619afd0
parent4aa521f4b2d90fe43891af6aba95349c7fb21ec4
Add ability to pass directory of inputs to Arrow.Table/Arrow.Stream (#246)

* Add ability to pass directory of inputs to Arrow.Table/Arrow.Stream

Implements #235. The proposed implementation here isn't too complicated;
it introduces a new `ArrowBlob` type that we'll convert any
`IO`/`String`/`Vector{UInt8}` input to, and the main
`Arrow.Table`/`Arrow.Stream` methods take a `Vector{ArrowBlob}` to
operate on. The schema of each input must match in order to be treated
as a single "table". "Must match" in this PR means `==(sch1, sch2)`,
which does include `custom_metadata` and dictionaries, which might not
be desireable, but I haven't quite had the chance to think through all
the way yet. Otherwise, I think the rest here is pretty straightfoward
and non-breaking.

* update docs
src/FlatBuffers/FlatBuffers.jl
src/FlatBuffers/table.jl
src/table.jl
test/runtests.jl