Skip to content

Commit b85807d

Browse files
committed
refactor: change if condition to match
1 parent 57d6645 commit b85807d

File tree

1 file changed

+11
-17
lines changed
  • datafusion/physical-expr/src/expressions

1 file changed

+11
-17
lines changed

datafusion/physical-expr/src/expressions/binary.rs

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -358,47 +358,41 @@ impl PhysicalExpr for BinaryExpr {
358358
fn evaluate(&self, batch: &RecordBatch) -> Result<ColumnarValue> {
359359
use arrow::compute::kernels::numeric::*;
360360

361-
#[inline]
362361
fn check_short_circuit(arg: &ColumnarValue, op: &Operator) -> bool {
363362
let data_type = arg.data_type();
364-
if data_type == DataType::Boolean {
365-
if *op == Operator::And {
363+
match (data_type, op) {
364+
(DataType::Boolean, Operator::And) => {
366365
match arg {
367366
ColumnarValue::Array(array) => {
368367
if let Ok(array) = as_boolean_array(&array) {
369-
if array.true_count() == 0 {
370-
return true;
371-
}
368+
return array.true_count() == 0;
372369
}
373370
}
374371
ColumnarValue::Scalar(scalar) => {
375372
if let ScalarValue::Boolean(Some(value)) = scalar {
376-
if !value {
377-
return true;
378-
}
373+
return !value;
379374
}
380375
}
381376
}
382-
} else if *op == Operator::Or {
377+
false
378+
}
379+
(DataType::Boolean, Operator::Or) => {
383380
match arg {
384381
ColumnarValue::Array(array) => {
385382
if let Ok(array) = as_boolean_array(&array) {
386-
if array.true_count() == array.len() {
387-
return true;
388-
}
383+
return array.true_count() == array.len();
389384
}
390385
}
391386
ColumnarValue::Scalar(scalar) => {
392387
if let ScalarValue::Boolean(Some(value)) = scalar {
393-
if *value {
394-
return true;
395-
}
388+
return *value;
396389
}
397390
}
398391
}
392+
false
399393
}
394+
_ => false,
400395
}
401-
false
402396
}
403397

404398
let lhs = self.left.evaluate(batch)?;

0 commit comments

Comments
 (0)