Skip to content

Commit 46a6fbb

Browse files
Update feather factories
feather_table_reader -> FeatherTableReader feather_table_writer -> FeatherTableWriter
1 parent 072df89 commit 46a6fbb

4 files changed

Lines changed: 35 additions & 30 deletions

File tree

r/NAMESPACE

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ S3method("==","arrow::RecordBatch")
88
S3method("==","arrow::ipc::Message")
99
S3method(BufferReader,"arrow::Buffer")
1010
S3method(BufferReader,default)
11+
S3method(FeatherTableReader,"arrow::io::RandomAccessFile")
12+
S3method(FeatherTableReader,"arrow::ipc::feather::TableReader")
13+
S3method(FeatherTableReader,character)
14+
S3method(FeatherTableReader,default)
15+
S3method(FeatherTableReader,fs_path)
16+
S3method(FeatherTableWriter,"arrow::io::OutputStream")
1117
S3method(FixedSizeBufferWriter,"arrow::Buffer")
1218
S3method(FixedSizeBufferWriter,default)
1319
S3method(MessageReader,"arrow::io::InputStream")
@@ -33,12 +39,6 @@ S3method(buffer,default)
3339
S3method(buffer,integer)
3440
S3method(buffer,numeric)
3541
S3method(buffer,raw)
36-
S3method(feather_table_reader,"arrow::io::RandomAccessFile")
37-
S3method(feather_table_reader,"arrow::ipc::feather::TableReader")
38-
S3method(feather_table_reader,character)
39-
S3method(feather_table_reader,default)
40-
S3method(feather_table_reader,fs_path)
41-
S3method(feather_table_writer,"arrow::io::OutputStream")
4242
S3method(length,"arrow::Array")
4343
S3method(names,"arrow::RecordBatch")
4444
S3method(print,"arrow-enum")
@@ -70,6 +70,8 @@ S3method(write_feather_RecordBatch,fs_path)
7070
export(BufferOutputStream)
7171
export(BufferReader)
7272
export(DateUnit)
73+
export(FeatherTableReader)
74+
export(FeatherTableWriter)
7375
export(FileMode)
7476
export(FileOutputStream)
7577
export(FixedSizeBufferWriter)
@@ -95,8 +97,6 @@ export(date64)
9597
export(decimal)
9698
export(default_memory_pool)
9799
export(dictionary)
98-
export(feather_table_reader)
99-
export(feather_table_writer)
100100
export(field)
101101
export(float16)
102102
export(float32)

r/R/feather.R

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@
3535
num_columns = function() ipc___feather___TableReader__num_columns(self),
3636
GetColumnName = function(i) ipc___feather___TableReader__GetColumnName(self, i),
3737
GetColumn = function(i) shared_ptr(`arrow::Column`, ipc___feather___TableReader__GetColumn(self, i)),
38-
Read = function() shared_ptr(`arrow::Table`, ipc___feather___TableReader__Read(self))
38+
Read = function(columns) {
39+
if (is.null(columns)) {
40+
shared_ptr(`arrow::Table`, ipc___feather___TableReader__Read(self))
41+
}
42+
}
3943
)
4044
)
4145

@@ -44,12 +48,12 @@
4448
#' @param stream an OutputStream
4549
#'
4650
#' @export
47-
feather_table_writer <- function(stream) {
48-
UseMethod("feather_table_writer")
51+
FeatherTableWriter <- function(stream) {
52+
UseMethod("FeatherTableWriter")
4953
}
5054

5155
#' @export
52-
`feather_table_writer.arrow::io::OutputStream` <- function(stream){
56+
`FeatherTableWriter.arrow::io::OutputStream` <- function(stream){
5357
unique_ptr(`arrow::ipc::feather::TableWriter`, ipc___feather___TableWriter__Open(stream))
5458
}
5559

@@ -107,7 +111,7 @@ write_feather_RecordBatch <- function(data, stream) {
107111
#' @export
108112
#' @method write_feather_RecordBatch arrow::io::OutputStream
109113
`write_feather_RecordBatch.arrow::io::OutputStream` <- function(data, stream) {
110-
ipc___TableWriter__RecordBatch__WriteFeather(feather_table_writer(stream), data)
114+
ipc___TableWriter__RecordBatch__WriteFeather(FeatherTableWriter(stream), data)
111115
}
112116

113117
#' A arrow::ipc::feather::TableReader to read from a file
@@ -117,44 +121,45 @@ write_feather_RecordBatch <- function(data, stream) {
117121
#' @param ... extra parameters
118122
#'
119123
#' @export
120-
feather_table_reader <- function(file, mmap = TRUE, ...){
121-
UseMethod("feather_table_reader")
124+
FeatherTableReader <- function(file, mmap = TRUE, ...){
125+
UseMethod("FeatherTableReader")
122126
}
123127

124128
#' @export
125-
feather_table_reader.default <- function(file, mmap = TRUE, ...) {
129+
FeatherTableReader.default <- function(file, mmap = TRUE, ...) {
126130
stop("unsupported")
127131
}
128132

129133
#' @export
130-
feather_table_reader.character <- function(file, mmap = TRUE, ...) {
131-
feather_table_reader(fs::path_abs(file), mmap = mmap, ...)
134+
FeatherTableReader.character <- function(file, mmap = TRUE, ...) {
135+
FeatherTableReader(fs::path_abs(file), mmap = mmap, ...)
132136
}
133137

134138
#' @export
135-
feather_table_reader.fs_path <- function(file, mmap = TRUE, ...) {
139+
FeatherTableReader.fs_path <- function(file, mmap = TRUE, ...) {
136140
stream <- if(isTRUE(mmap)) mmap_open(file, ...) else ReadableFile(file, ...)
137-
feather_table_reader(stream)
141+
FeatherTableReader(stream)
138142
}
139143

140144
#' @export
141-
`feather_table_reader.arrow::io::RandomAccessFile` <- function(file, mmap = TRUE, ...){
145+
`FeatherTableReader.arrow::io::RandomAccessFile` <- function(file, mmap = TRUE, ...){
142146
unique_ptr(`arrow::ipc::feather::TableReader`, ipc___feather___TableReader__Open(file))
143147
}
144148

145149
#' @export
146-
`feather_table_reader.arrow::ipc::feather::TableReader` <- function(file, mmap = TRUE, ...){
150+
`FeatherTableReader.arrow::ipc::feather::TableReader` <- function(file, mmap = TRUE, ...){
147151
file
148152
}
149153

150154
#' Read a feather file
151155
#'
152156
#' @param file a arrow::ipc::feather::TableReader or whatever the [feather_table_reader()] function can handle
157+
#' @param columns names if the columns to read. The default `NULL` means all columns
153158
#' @param ... additional parameters
154159
#'
155160
#' @return an arrow::Table
156161
#'
157162
#' @export
158-
read_feather <- function(file, ...){
159-
feather_table_reader(file, ...)$Read()
163+
read_feather <- function(file, columns = NULL, ...){
164+
FeatherTableReader(file, ...)$Read(columns)
160165
}
Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)