You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Niranda Perera (Jira)" <ji...@apache.org> on 2021/06/04 17:01:00 UTC

[jira] [Created] (ARROW-12975) [C++][Python] if_else kernel doesn't support upcasting

Niranda Perera created ARROW-12975:
--------------------------------------

             Summary: [C++][Python] if_else kernel doesn't support upcasting 
                 Key: ARROW-12975
                 URL: https://issues.apache.org/jira/browse/ARROW-12975
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++, Python
            Reporter: Niranda Perera
            Assignee: Niranda Perera


when using type multiple types for `left` and `right` arrays, `if_else` kernel fails. IMO check casting and dispatching logic for the if_else kernel. 

{code:java}
>>> pc.if_else([True], [1], [3.5])
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "<string>", line 3, in if_else
 File "pyarrow/_compute.pyx", line 335, in pyarrow._compute.Function.call
 result = GetResultValue(self.base_func.Execute(c_args,
 File "pyarrow/error.pxi", line 141, in pyarrow.lib.pyarrow_internal_check_status
 return check_status(status)
 File "pyarrow/error.pxi", line 118, in pyarrow.lib.check_status
 raise ArrowNotImplementedError(message)
pyarrow.lib.ArrowNotImplementedError: Function if_else has no kernel matching input types (array[bool], array[int64], array[double])
{code}



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