Skip to content

Commit 4e58234

Browse files
committed
feat: make arrow_binary etc. to blob
Signed-off-by: SHIMA Tatsuya <[email protected]>
1 parent f6bfa7b commit 4e58234

File tree

6 files changed

+12
-10
lines changed

6 files changed

+12
-10
lines changed

r/DESCRIPTION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Biarch: true
3333
Imports:
3434
assertthat,
3535
bit64 (>= 0.9-7),
36+
blob,
3637
glue,
3738
methods,
3839
purrr,

r/R/metadata.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ remove_attributes <- function(x) {
245245
removed_attributes <- c("row.names", "names")
246246
} else if (inherits(x, "factor")) {
247247
removed_attributes <- c("class", "levels")
248-
} else if (inherits(x, c("integer64", "Date", "arrow_binary", "arrow_large_binary"))) {
248+
} else if (inherits(x, c("integer64", "Date", "blob", "arrow_binary", "arrow_large_binary"))) {
249249
removed_attributes <- c("class")
250250
} else if (inherits(x, "arrow_fixed_size_binary")) {
251251
removed_attributes <- c("class", "byte_width")

r/src/arrow_types.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,8 @@ static inline bool can_convert_native(SEXP x) {
151151
return Rf_inherits(x, "factor") || Rf_inherits(x, "Date") ||
152152
Rf_inherits(x, "integer64") || Rf_inherits(x, "POSIXct") ||
153153
Rf_inherits(x, "hms") || Rf_inherits(x, "difftime") ||
154-
Rf_inherits(x, "data.frame") || Rf_inherits(x, "arrow_binary") ||
154+
Rf_inherits(x, "data.frame") ||
155+
Rf_inherits(x, "blob") || Rf_inherits(x, "arrow_binary") ||
155156
Rf_inherits(x, "arrow_large_binary") ||
156157
Rf_inherits(x, "arrow_fixed_size_binary") ||
157158
Rf_inherits(x, "vctrs_unspecified") || Rf_inherits(x, "AsIs");

r/src/r_to_arrow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ RVectorType GetVectorType(SEXP x) {
123123
return POSIXLT;
124124
}
125125

126-
if (Rf_inherits(x, "arrow_binary")) {
126+
if (Rf_inherits(x, "arrow_binary") || Rf_inherits(x, "blob")) {
127127
return BINARY;
128128
}
129129

r/src/symbols.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ SEXP data::classes_tbl_df =
6060
precious(cpp11::writable::strings({"tbl_df", "tbl", "data.frame"}));
6161

6262
SEXP data::classes_arrow_binary =
63-
precious(cpp11::writable::strings({"arrow_binary", "vctrs_vctr", "list"}));
63+
precious(cpp11::writable::strings({"arrow_binary", "blob", "vctrs_vctr", "list"}));
6464
SEXP data::classes_arrow_large_binary =
65-
precious(cpp11::writable::strings({"arrow_large_binary", "vctrs_vctr", "list"}));
65+
precious(cpp11::writable::strings({"arrow_large_binary", "blob", "vctrs_vctr", "list"}));
6666
SEXP data::classes_arrow_fixed_size_binary =
67-
precious(cpp11::writable::strings({"arrow_fixed_size_binary", "vctrs_vctr", "list"}));
67+
precious(cpp11::writable::strings({"arrow_fixed_size_binary", "blob", "vctrs_vctr", "list"}));
6868
SEXP data::classes_factor = precious(cpp11::writable::strings({"factor"}));
6969
SEXP data::classes_ordered = precious(cpp11::writable::strings({"ordered", "factor"}));
7070

r/src/type_infer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,14 @@ std::shared_ptr<arrow::DataType> InferArrowTypeFromVector<VECSXP>(SEXP x) {
150150
return arrow::fixed_size_binary(INTEGER(byte_width)[0]);
151151
}
152152

153-
if (Rf_inherits(x, "arrow_binary")) {
154-
return arrow::binary();
155-
}
156-
157153
if (Rf_inherits(x, "arrow_large_binary")) {
158154
return arrow::large_binary();
159155
}
160156

157+
if (Rf_inherits(x, "arrow_binary") || Rf_inherits(x, "blob")) {
158+
return arrow::binary();
159+
}
160+
161161
// Check attr(x, "ptype") for an appropriate R prototype
162162
SEXP ptype = Rf_getAttrib(x, symbols::ptype);
163163
if (!Rf_isNull(ptype)) {

0 commit comments

Comments
 (0)