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 18:03:00 UTC

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

     [ https://issues.apache.org/jira/browse/ARROW-12975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Niranda Perera updated ARROW-12975:
-----------------------------------
    Issue Type: Improvement  (was: Bug)

> [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: Improvement
>          Components: C++, Python
>            Reporter: Niranda Perera
>            Assignee: Niranda Perera
>            Priority: Major
>
> 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)