Skip to content

[C++][Python] if_else kernel doesn't support upcasting  #28693

@asfimport

Description

@asfimport

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.

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

Reporter: Niranda Perera / @nirandaperera
Assignee: Niranda Perera / @nirandaperera

Related issues:

PRs and other links:

Note: This issue was originally created as ARROW-12975. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions