You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Ben Kietzman (Jira)" <ji...@apache.org> on 2021/02/05 18:57:02 UTC

[jira] [Created] (ARROW-11508) [C++][Compute] Add support for generic conversions to Function::DispatchBest

Ben Kietzman created ARROW-11508:
------------------------------------

             Summary: [C++][Compute] Add support for generic conversions to Function::DispatchBest
                 Key: ARROW-11508
                 URL: https://issues.apache.org/jira/browse/ARROW-11508
             Project: Apache Arrow
          Issue Type: New Feature
          Components: C++
    Affects Versions: 3.0.0
            Reporter: Ben Kietzman
            Assignee: Ben Kietzman


ARROW-8919 adds support for execution with implicit casts to any function which overrides DispatchBest, allowing functions to specify conversions which make sense in that function's context. For example "add" can promote its arguments if their types disagree. By contrast, some conversions are more generic and could be applicable to any function's arguments. For example if any datum is dictionary encoded, a kernel which accepts the decoded type should be usable with an implicit decoding cast:
{code:java}
import pyarrow as pa
import pyarrow.compute as pc

arr = pa.array('hello ' * 10)
enc = arr.dictionary_encode()

# result should not depend on encoding:
assert pc.ascii_is_alnum(arr) == pc.ascii_is_alnum(enc)

# currently raises:
# ArrowNotImplementedError: Function ascii_is_alnum has no kernel matching
#    input types (array[dictionary<values=string, indices=int32, ordered=0>])
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)