kevingurney opened a new pull request, #37163:
URL: https://github.com/apache/arrow/pull/37163

   ### Rationale for this change
   
   Now that #37044 is merged, we can re-implement `featherread` in terms of the 
new `arrow.internal.io.feather.Reader` class. Once this change is made, we can 
delete the legacy build infrastructure and `featherread` MEX code.
   
   ### What changes are included in this PR?
   
   1. Reimplemented `featherread` in terms of the new 
`arrow.internal.io.feather.Reader` class.
   2. We tried to maintain compatibility with the old code as much as possible, 
but since `featherread` is now implemented in terms of `RecordBatch`, there are 
some minor changes in behavior and support for some new data types that are 
introduced by these changes.
   
   ### Are these changes tested?
   
   Yes.
   
   1. Updated the existing `tfeather.m` and `tfeathermex.m` tests to reflect 
the new behavior of `featherread`. This mainly consists of error message ID 
changes.
   
   ### Are there any user-facing changes?
   
   Yes.
   
   1. Now that `featherread` is implemented in terms of 
`arrow.internal.io.feather.Reader` and `arrow.tabular.RecordBatch`, it supports 
reading more types like `Boolean`, `String`, `Timestamp`, etc.
   3. There are some minor error message ID changes.
   4. Cell arrays of strings with a single element (e.g. 
`{'filename.feather'}`) are now supported as valid `filename` arguments to 
`featherread`.
   
   ### Future Directions
   
   1. In the future, we may want to consider no longer casting columns with 
numeric types containing null values to `double` and substituting null values 
with `NaN`. This behavior isn't ideal in all cases (it can be lossy for types 
like `uint64`). This would break compatibility.
   2. We should consider adding support for any others features / types that 
Feather V1 supports.
   
   ### Notes
   
   1. Thank you @sgilmore10 for your help with this pull request!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to