Dewey Dunnington created ARROW-14804:
----------------------------------------
Summary: [R] import_from_c() / export_to_c() methods should accept
external pointers
Key: ARROW-14804
URL: https://issues.apache.org/jira/browse/ARROW-14804
Project: Apache Arrow
Issue Type: Improvement
Components: R
Reporter: Dewey Dunnington
The import and export to C methods for Field, Shema, DataType, Array,
RecordBatch, and RecordBatchReader all require the pointer to be passed as a
{{double}} (casted from {{uintptr_t}} casted from {{*}}. I imagine there's good
reason for this path to exist; however, the R externalptr type and 64-bit
integer are more natural types and I think it would not be hard to allow
pointers to be passed in this way. A [short
discussion|https://github.com/apache/arrow/pull/11679#discussion_r755178800] of
this occurred when updating the Python docs on how to pass Array pointers to R.
The implementation lives in
[arrow_cpp11.h|https://github.com/apache/arrow/blob/eb2fa2df6dedf2743047df9dd19d7ed4f4482c22/r/src/arrow_cpp11.h#L49-L54]
and it seems like it would be easy to allow a user to pass something more
R-like while still keeping the double route open for the packages that need it.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)