Skip to content

Implement DecimalArray support in eq_dyn, neq_dyn, lt_dyn, lt_eq_dyn, gt_dyn, gt_eq_dyn #1200

@alamb

Description

@alamb

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Rationale make it as easier (more ergonomic) to implement array comparison, both for DataFusion and other users. See rationale in #843

Describe the solution you'd like
The idea would basically be to implement the same thing as @viirya did for timestamp types in #1095 but for DecimalArrays

That is the following code should not assert and compare the decimal arrays element by element:

let arr1: DecimalArray = ...;
let arr2: DecimalArray = ...;
let result = eq_dyn(&arr1, &arr2);
assert!(result.is_ok())

Describe alternatives you've considered
For completeness, we could also add eq_decimal, neq_decimal, etc as well, though I personally think focusing on the dyn kernels would be the easiest thing.

Additional context

@liukun4515 has added kernels in DataFusion here which could be adapted
https://github.com/apache/arrow-datafusion/blob/master/datafusion/src/physical_plan/expressions/binary.rs#L80-L231

other context:
I am trying to move datafusion over to using the dyn kernels here: apache/datafusion#1475

Metadata

Metadata

Assignees

No one assigned

    Labels

    arrowChanges to the arrow crateenhancementAny new improvement worthy of a entry in the changeloggood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions