From b26af329342abbac310bc1749483876bdc3bf268 Mon Sep 17 00:00:00 2001 From: Mryange <59914473+Mryange@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:47:14 +0800 Subject: [PATCH] [fix](function) fix error return type in corr(float32,float32) (#39251) (#39350) https://github.com/apache/doris/pull/39251 ``` mysql [test11]>select corr(cast(x as float),cast(y as float)) from test_corr; ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]column_type not match data_types in agg node, column_type=Nullable(Float64), data_types=Nullable(Float32),column name= ``` ## Proposed changes Issue Number: close #xxx --- be/src/vec/aggregate_functions/aggregate_function_binary.h | 3 +-- .../data/nereids_function_p0/agg_function/test_corr.out | 3 +++ .../suites/nereids_function_p0/agg_function/test_corr.groovy | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/be/src/vec/aggregate_functions/aggregate_function_binary.h b/be/src/vec/aggregate_functions/aggregate_function_binary.h index ca06cc1bb8..a5b6e2b1e0 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_binary.h +++ b/be/src/vec/aggregate_functions/aggregate_function_binary.h @@ -41,8 +41,7 @@ template typename Moments> struct StatFunc { using Type1 = T1; using Type2 = T2; - using ResultType = std::conditional_t && std::is_same_v, - Float32, Float64>; + using ResultType = Float64; using Data = Moments; }; diff --git a/regression-test/data/nereids_function_p0/agg_function/test_corr.out b/regression-test/data/nereids_function_p0/agg_function/test_corr.out index 4fc9a9d4ba..c694f95ebe 100644 --- a/regression-test/data/nereids_function_p0/agg_function/test_corr.out +++ b/regression-test/data/nereids_function_p0/agg_function/test_corr.out @@ -11,3 +11,6 @@ -- !sql -- 0.8944271909999159 +-- !sql -- +0.8944271909999159 + diff --git a/regression-test/suites/nereids_function_p0/agg_function/test_corr.groovy b/regression-test/suites/nereids_function_p0/agg_function/test_corr.groovy index 15f27f8427..09ed98fab0 100644 --- a/regression-test/suites/nereids_function_p0/agg_function/test_corr.groovy +++ b/regression-test/suites/nereids_function_p0/agg_function/test_corr.groovy @@ -80,6 +80,7 @@ suite("test_corr") { (5, 5, 10) """ qt_sql "select corr(x,y) from test_corr" - + + qt_sql "select corr(cast(x as float),cast(y as float)) from test_corr" sql """ DROP TABLE IF EXISTS test_corr """ }