asfimport opened a new issue, #33103:
URL: https://github.com/apache/arrow/issues/33103

   With ARROW-14500 and ARROW-15545 
(https://github.com/apache/arrow/pull/14106), we are allowing to cast 
"storage_type" -> "extension<storage_type>" (and the cast the other way around 
already worked as well). 
   
   Initially, that PR allowed any cast from "any" -> "extension<storage_type>", 
as long as the input type could be cast to the storage type (so deferring to 
the "any" -> "storage_type" cast). However, because whether a certain cast 
makes sense or not depends on the semantics of the extension type, it was 
restricted to exactly matching storage_type. 
   
   One idea could be to still allow the other casts behind a cast option flag, 
like `allow_non_storage_extension_casts` (or a better name), so the user can 
explicitly allow to cast to/from any type (as long as the cast from/to the 
storage type works).
   
   That could help for the user, but for certain casts, the ExtensionType might 
also want to control _how_ such a cast is done. For example, for casting 
to/from string type (which would be useful for reading/writing CSV files, or 
for repr), you typically will want to do something different than casting your 
storage array to string. 
   
   A more general solution could thus be to have a mechanism for the 
ExtensionType to implement a certain cast kernel itself, and register this to 
the C++ cast dispatching.
   
   
   
   
   
   
   **Reporter**: [Joris Van den 
Bossche](https://issues.apache.org/jira/browse/ARROW-17890) / 
@jorisvandenbossche
   
   <sub>**Note**: *This issue was originally created as 
[ARROW-17890](https://issues.apache.org/jira/browse/ARROW-17890). Please see 
the [migration documentation](https://github.com/apache/arrow/issues/14542) for 
further details.*</sub>


-- 
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