From aa45d51f2408d5f143f8c31542e325cedf6cebcf Mon Sep 17 00:00:00 2001 From: "joey.ljy" Date: Sat, 16 Dec 2023 18:26:42 +0800 Subject: [PATCH] Fix decimal average signature --- velox/functions/sparksql/aggregates/AverageAggregate.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/velox/functions/sparksql/aggregates/AverageAggregate.cpp b/velox/functions/sparksql/aggregates/AverageAggregate.cpp index 5191e8f0d13c..b6cc95c9b4e0 100644 --- a/velox/functions/sparksql/aggregates/AverageAggregate.cpp +++ b/velox/functions/sparksql/aggregates/AverageAggregate.cpp @@ -394,6 +394,15 @@ exec::AggregateRegistrationResult registerAverage( .returnType("DECIMAL(r_precision, r_scale)") .build()); + signatures.push_back( + exec::AggregateFunctionSignatureBuilder() + .integerVariable("a_precision") + .integerVariable("a_scale") + .argumentType("DECIMAL(a_precision, a_scale)") + .intermediateType("ROW(DECIMAL(a_precision, a_scale), BIGINT)") + .returnType("DECIMAL(a_precision, a_scale)") + .build()); + return exec::registerAggregateFunction( name, std::move(signatures),