viirya commented on code in PR #3542:
URL: https://github.com/apache/arrow-rs/pull/3542#discussion_r1086148181
##########
arrow-cast/src/cast.rs:
##########
@@ -3460,39 +3460,41 @@ fn cast_list_inner<OffsetSize: OffsetSizeTrait>(
Ok(Arc::new(list) as ArrayRef)
}
-/// Helper function to cast from `Utf8` to `LargeUtf8` and vice versa. If the
`LargeUtf8` is too large for
-/// a `Utf8` array it will return an Error.
-fn cast_str_container<OffsetSizeFrom, OffsetSizeTo>(
- array: &dyn Array,
-) -> Result<ArrayRef, ArrowError>
+/// Helper function to cast from one `ByteArrayType` to another and vice versa.
+/// If the target one (e.g., `LargeUtf8`) is too large for the source array it
will return an Error.
+fn cast_byte_container<FROM, TO>(array: &dyn Array) -> Result<ArrayRef,
ArrowError>
Review Comment:
For above two cases, I changed it to do a `From` conversion first (metadata
one, so should be quick), then do real cast (`cast_byte_container`) between
same native types. So now this function restricts the input and output native
types to be the same.
--
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]