Skip to content

Add boolean equality and inequality kernels #842

@alamb

Description

@alamb

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

I am trying to compare two boolean arrays (see DataFusion PR apache/datafusion#1163) and produce another BooleanArray

There are a variety of kernels in arrow that support comparing primitive (numeric) arrays and string arrays such as eq, eq_utf8 eq_scalar, etc.

https://docs.rs/arrow/6.0.0/arrow/compute/kernels/comparison/index.html

Describe the solution you'd like

I would like the following four kernels in arrow (see implementations in apache/datafusion#1163)

// return a new BooleanArray which is the result of comparing left and right element by element
fn eq_bool(left: &BooleanArray, right: &BooleanArray) -> result<BooleanArray> {
  ..
}
// return a new BooleanArray which is the result of comparing left and right element by element
fn neq_bool(left: &BooleanArray, right: &BooleanArray) -> result<BooleanArray> {
  ..
}
// return a new BooleanArray which is the result of comparing left and right element by element
fn eq_bool_scalar(left: &BooleanArray, right: bool) -> result<BooleanArray> {
  ..
}
// return a new BooleanArray which is the result of comparing left and right element by element
fn neq_bool_scalar(left: &BooleanArray, right: bool) -> result<BooleanArray> {
  ..
}

Metadata

Metadata

Assignees

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