Dandandan commented on a change in pull request #9565: URL: https://github.com/apache/arrow/pull/9565#discussion_r583238365
########## File path: rust/datafusion/src/physical_plan/type_coercion.rs ########## @@ -168,20 +168,35 @@ fn maybe_data_types( pub fn can_coerce_from(type_into: &DataType, type_from: &DataType) -> bool { use self::DataType::*; match type_into { - Int8 => matches!(type_from, Int8), - Int16 => matches!(type_from, Int8 | Int16 | UInt8), - Int32 => matches!(type_from, Int8 | Int16 | Int32 | UInt8 | UInt16), + Int8 => matches!(type_from, Int8 | Utf8 | LargeUtf8), Review comment: I think the cast in DataFusion relies on the `cast` in Arrow. I think Arrow should have an option (I think there is a JIRA issue for that already) that would return an error on a failing cast instead of nulls, which is I think what we then can/should use for DataFusion. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org