From e96e867ca6ad736f20a1913d596f722b58f02704 Mon Sep 17 00:00:00 2001 From: Jin Shang Date: Fri, 26 May 2023 19:56:31 +0800 Subject: [PATCH] Remove check_overflow from CumulativeSumOptions --- cpp/src/arrow/compute/api_vector.cc | 19 +++++++------------ cpp/src/arrow/compute/api_vector.h | 11 +++-------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/cpp/src/arrow/compute/api_vector.cc b/cpp/src/arrow/compute/api_vector.cc index d3ca2ae15ddda..5044d4f25690a 100644 --- a/cpp/src/arrow/compute/api_vector.cc +++ b/cpp/src/arrow/compute/api_vector.cc @@ -144,8 +144,7 @@ static auto kSelectKOptionsType = GetFunctionOptionsType( DataMember("sort_keys", &SelectKOptions::sort_keys)); static auto kCumulativeSumOptionsType = GetFunctionOptionsType( DataMember("start", &CumulativeSumOptions::start), - DataMember("skip_nulls", &CumulativeSumOptions::skip_nulls), - DataMember("check_overflow", &CumulativeSumOptions::check_overflow)); + DataMember("skip_nulls", &CumulativeSumOptions::skip_nulls)); static auto kRankOptionsType = GetFunctionOptionsType( DataMember("sort_keys", &RankOptions::sort_keys), DataMember("null_placement", &RankOptions::null_placement), @@ -199,16 +198,12 @@ SelectKOptions::SelectKOptions(int64_t k, std::vector sort_keys) sort_keys(std::move(sort_keys)) {} constexpr char SelectKOptions::kTypeName[]; -CumulativeSumOptions::CumulativeSumOptions(double start, bool skip_nulls, - bool check_overflow) - : CumulativeSumOptions(std::make_shared(start), skip_nulls, - check_overflow) {} -CumulativeSumOptions::CumulativeSumOptions(std::shared_ptr start, bool skip_nulls, - bool check_overflow) +CumulativeSumOptions::CumulativeSumOptions(double start, bool skip_nulls) + : CumulativeSumOptions(std::make_shared(start), skip_nulls) {} +CumulativeSumOptions::CumulativeSumOptions(std::shared_ptr start, bool skip_nulls) : FunctionOptions(internal::kCumulativeSumOptionsType), start(std::move(start)), - skip_nulls(skip_nulls), - check_overflow(check_overflow) {} + skip_nulls(skip_nulls) {} constexpr char CumulativeSumOptions::kTypeName[]; RankOptions::RankOptions(std::vector sort_keys, NullPlacement null_placement, @@ -381,8 +376,8 @@ Result> DropNull(const Array& values, ExecContext* ctx) { // Cumulative functions Result CumulativeSum(const Datum& values, const CumulativeSumOptions& options, - ExecContext* ctx) { - auto func_name = (options.check_overflow) ? "cumulative_sum_checked" : "cumulative_sum"; + bool check_overflow, ExecContext* ctx) { + auto func_name = check_overflow ? "cumulative_sum_checked" : "cumulative_sum"; return CallFunction(func_name, {Datum(values)}, &options, ctx); } diff --git a/cpp/src/arrow/compute/api_vector.h b/cpp/src/arrow/compute/api_vector.h index 2ec1cf959cbdc..00d38628e18bf 100644 --- a/cpp/src/arrow/compute/api_vector.h +++ b/cpp/src/arrow/compute/api_vector.h @@ -213,10 +213,8 @@ class ARROW_EXPORT PartitionNthOptions : public FunctionOptions { /// \brief Options for cumulative sum function class ARROW_EXPORT CumulativeSumOptions : public FunctionOptions { public: - explicit CumulativeSumOptions(double start = 0, bool skip_nulls = false, - bool check_overflow = false); - explicit CumulativeSumOptions(std::shared_ptr start, bool skip_nulls = false, - bool check_overflow = false); + explicit CumulativeSumOptions(double start = 0, bool skip_nulls = false); + explicit CumulativeSumOptions(std::shared_ptr start, bool skip_nulls = false); static constexpr char const kTypeName[] = "CumulativeSumOptions"; static CumulativeSumOptions Defaults() { return CumulativeSumOptions(); } @@ -226,9 +224,6 @@ class ARROW_EXPORT CumulativeSumOptions : public FunctionOptions { /// If true, nulls in the input are ignored and produce a corresponding null output. /// When false, the first null encountered is propagated through the remaining output. bool skip_nulls = false; - - /// When true, returns an Invalid Status when overflow is detected - bool check_overflow = false; }; /// @} @@ -601,7 +596,7 @@ ARROW_EXPORT Result CumulativeSum( const Datum& values, const CumulativeSumOptions& options = CumulativeSumOptions::Defaults(), - ExecContext* ctx = NULLPTR); + bool check_overflow = false, ExecContext* ctx = NULLPTR); // ---------------------------------------------------------------------- // Deprecated functions