Commits


Romain Francois authored and Wes McKinney committed ea8940ae8d5
ARROW-3282: [R] initial R functionality * Wrapping C++ pointers to arrow objects as R6 classes holding an R external pointer. * Factory functions for the metadata types, int32(), ... * Factory to create schemas and struct * Create Array, RecordBatch, Table from R vectors and data frames. initially only support integer (int32), numeric (float64) and raw (int8) vectors. * Reading and Writing record batches and Table to files. Author: Romain Francois <romain@purrple.cat> Closes #2596 from romainfrancois/r-dev-buffer and squashes the following commits: 9ab188206 <Romain Francois> mark Roxygen and Rcpp generated files 661f37029 <Romain Francois> Using FirstTimeBitmapWriter instead of BitmapWriter. e81b72b40 <Romain Francois> only set null_bitmap if null_count > 0 bfe853d93 <Romain Francois> using 0-based indices in the tests. b39155664 <Romain Francois> Also use arrow::internak::BitmapWriter 9e6055519 <Romain Francois> name fixes. Using __ consistently bf814bb64 <Romain Francois> Using arrow::internal::BitmapReader c8aa70393 <Romain Francois> Also use std::shared_ptr for MemoryPool. 2aa8a5f91 <Romain Francois> need dev version of `vctrs` 394bd330d <Romain Francois> :rat: + RecordBatch$Slice de93a4f23 <Romain Francois> RecordBatch tests 9d208a4a3 <Romain Francois> +Array$RangeEquals f8600635b <Romain Francois> Move each class to their own file a89a9a8ef <Romain Francois> Move RecordBatch impl to own file a2f9f5150 <Romain Francois> correctly handling offset() 8263c0d22 <Romain Francois> + tests for ChunkedArray e02e24f76 <Romain Francois> +chunked_array and tests b20e4b09d <Romain Francois> More tests d11cda031 <Romain Francois> +R6 class ChunkedArray 29af2ea96 <Romain Francois> license headers 2f53ebf0d <Romain Francois> Additional tests for read_arrow / write_arrow 4237c3264 <Romain Francois> Clear the bit for non NA. ede8e4460 <Romain Francois> Handle null buffer in R <-> Array conversions a5b8190b0 <Romain Francois> update README with example of reading/writing arrow::Table d951db8db <Romain Francois> "documentation" to quiet check() 908c2accb <Romain Francois> read_arrow and write_arrow now relate to arrow::Table. 110b00d24 <Romain Francois> resolving conflicts ae55f8b6e <Romain Francois> .. 767e9d9e1 <Romain Francois> more generic print method 8d8cdd1ce <Romain Francois> + read_arrow / write_arrow for now c1385a0e3 <Romain Francois> export Array_as_vector, +Array$ToString 23fbd0162 <Romain Francois> + column names 97659ffca <Romain Francois> + as_tibble.arrow::RecordBatch fa4ee2212 <Romain Francois> + read_record_batch f27eebafa <Romain Francois> - MakeArray 4977bb2d7 <Romain Francois> no need to make ArrayData directly ef7cda147 <Romain Francois> class constructors only take the external pointers, logic moved to factory functions 81e059ae7 <Romain Francois> rebasing 421e471ab <Romain Francois> +macro R_ERROR_NOT_OK similar to RETURN_NOT_OK but that Rcpp::stop()s f5e3eff49 <Romain Francois> attempt RecordBatch$to_file 79205fbaa <Romain Francois> initial stab at arrow::table(data.frame) f6f1775bc <Romain Francois> s/data/.data/ b9c215b4e <Romain Francois> "document" array and record_batch edf609820 <Romain Francois> Need to install `vctrs` from github for now 6aecdce74 <Romain Francois> skip using rpath linker option b8dac548f <Romain Francois> +RecordBatch$schema 1fc3cc2f8 <Romain Francois> no longer need this 05da931f7 <Romain Francois> initial stab at record_batch f4d0a3417 <Romain Francois> must include arrow_types.h first aee2d0aa0 <Romain Francois> initial stab at arrow::array a6ae2f383 <Romain Francois> cleanup e14b5468d <Romain Francois> follow up from @wesm comments on #2489 36e9801f4 <Romain Francois> + installation instructions 108caf993 <Romain Francois> not checking for headers on these files b829bdfa0 <Romain Francois> initial R :package: with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32() 26e712d52 <Romain Francois> Initial work for type metadata, with tests. e2512990c <Romain Francois> + installation instructions a9a8bbb7a <Romain Francois> not checking for headers on these files e0a7eff78 <Romain Francois> initial R :package: with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32() b1c1109b0 <Romain Francois> finished rebasing after initial R patch merged 887df48f4 <Romain Francois> skip using rpath linker option a6de97501 <Romain Francois> cleanup 8526e5118 <Romain Francois> follow up from @wesm comments on #2489 f03a27729 <Romain Francois> + installation instructions 0995ca44c <Romain Francois> not checking for headers on these files 1cb547e7e <Romain Francois> initial R :package: with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32() 705c12540 <Romain Francois> exclude Rd files :rat: 605e3021d <Romain Francois> time32 only handles second and millisecond time64 only handles microsecond and nanosecond afdbae6b8 <Romain Francois> + licence header for R6.R file 65563f534 <Romain Francois> minimal documentation for check() b7135c7dc <Romain Francois> stop exporting everything 6aaf19298 <Romain Francois> ignoring the .clang-format file d854f2f40 <Romain Francois> + license headers for R files :speak_no_evil: d992b266e <Romain Francois> Initial work for type metadata, with tests. 614dd0735 <Romain Francois> + installation instructions afce06ae5 <Romain Francois> initial R :package: with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32()