From 2907f23d46bf314f1fabee453137db365a962424 Mon Sep 17 00:00:00 2001 From: mwish Date: Mon, 10 Jun 2024 16:21:51 +0800 Subject: [PATCH] simplify compute --- cpp/src/arrow/compute/expression.cc | 4 +--- cpp/src/arrow/compute/expression_test.cc | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cpp/src/arrow/compute/expression.cc b/cpp/src/arrow/compute/expression.cc index 49cfcdbb1780f..33e5928c2865d 100644 --- a/cpp/src/arrow/compute/expression.cc +++ b/cpp/src/arrow/compute/expression.cc @@ -763,9 +763,7 @@ Result ExecuteScalarExpression(const Expression& expr, const ExecBatch& i for (size_t i = 0; i < arguments.size(); ++i) { ARROW_ASSIGN_OR_RAISE( arguments[i], ExecuteScalarExpression(call->arguments[i], input, exec_context)); - if (!arguments[i].is_scalar()) { - all_scalar = false; - } + all_scalar &= arguments[i].is_scalar(); } int64_t input_length; diff --git a/cpp/src/arrow/compute/expression_test.cc b/cpp/src/arrow/compute/expression_test.cc index 18b661fd96821..d94a17b6ffadf 100644 --- a/cpp/src/arrow/compute/expression_test.cc +++ b/cpp/src/arrow/compute/expression_test.cc @@ -910,6 +910,8 @@ TEST(Expression, ExecuteCallWithNoArguments) { } TEST(Expression, ExecuteChunkedArray) { + // GH-41923: compute should generate the right result if input + // ExecBatch is `chunked_array`. auto input_schema = struct_({field("a", struct_({ field("a", float64()), field("b", float64()),