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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions