[ https://issues.apache.org/jira/browse/ARROW-14500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joris Van den Bossche updated ARROW-14500: ------------------------------------------ Fix Version/s: 10.0.0 > [C++] Support casting from storage type to extension type > --------------------------------------------------------- > > Key: ARROW-14500 > URL: https://issues.apache.org/jira/browse/ARROW-14500 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Joris Van den Bossche > Assignee: Miles Granger > Priority: Major > Labels: good-first-issue, kernel > Fix For: 10.0.0 > > > We already support casting an extension array to its storage type > (ARROW-7858): > {code} > >>> from pyarrow.tests.test_extension_type import IntegerType > >>> arr = pa.array([1, 2, 3], pa.int64()) > >>> arr_ext = pa.ExtensionArray.from_storage(IntegerType(), arr) > >>> arr_ext.cast(arr.type) > Out[29]: > <pyarrow.lib.Int64Array object at 0x7f7b0d4739a0> > [ > 1, > 2, > 3 > ] > {code} > but we don't support the cast the other way around from storage type to > extension type: > {code} > >>> arr.cast(arr_ext.type) > ... > ArrowNotImplementedError: Unsupported cast from int64 to > extension<arrow.py_extension_type<IntegerType>> (no available cast function > for target type) > ../src/arrow/compute/cast.cc:119 > GetCastFunctionInternal(cast_options->to_type, args[0].type().get()) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)