This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new f639783347a branch-3.1: [Exec](alias) support stddev alias to std 
#52819 (#52866)
f639783347a is described below

commit f639783347a6e9f50a894a6ff72c9873f622d1e9
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jul 8 11:41:11 2025 +0800

    branch-3.1: [Exec](alias) support stddev alias to std #52819 (#52866)
    
    Cherry-picked from #52819
    
    Co-authored-by: HappenLee <happen...@selectdb.com>
---
 .../aggregate_functions/aggregate_function_stddev.cpp |   1 +
 .../org/apache/doris/analysis/FunctionCallExpr.java   |   3 ++-
 .../doris/catalog/BuiltinAggregateFunctions.java      |   2 +-
 .../java/org/apache/doris/catalog/FunctionSet.java    |   8 ++++++++
 .../nereids/rules/analysis/GenerateFunction.java      |   1 +
 .../test_aggregate_all_functions.out                  | Bin 2765 -> 2803 bytes
 .../test_aggregate_all_functions.groovy               |   1 +
 7 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/be/src/vec/aggregate_functions/aggregate_function_stddev.cpp 
b/be/src/vec/aggregate_functions/aggregate_function_stddev.cpp
index f9fe2dca748..5c9127f39e9 100644
--- a/be/src/vec/aggregate_functions/aggregate_function_stddev.cpp
+++ b/be/src/vec/aggregate_functions/aggregate_function_stddev.cpp
@@ -91,6 +91,7 @@ void 
register_aggregate_function_stddev_variance_pop(AggregateFunctionSimpleFact
     factory.register_alias("variance", "variance_pop");
     factory.register_function_both("stddev", 
create_aggregate_function_stddev_pop<true>);
     factory.register_alias("stddev", "stddev_pop");
+    factory.register_alias("stddev", "std");
 }
 
 void 
register_aggregate_function_stddev_variance_samp_old(AggregateFunctionSimpleFactory&
 factory) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
index 5390da727df..8a4aae70705 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
@@ -81,7 +81,8 @@ public class FunctionCallExpr extends Expr {
     public static final ImmutableSet<String> STDDEV_FUNCTION_SET = new 
ImmutableSortedSet.Builder(
             String.CASE_INSENSITIVE_ORDER)
             
.add("stddev").add("stddev_val").add("stddev_samp").add("stddev_pop").add("variance").add("variance_pop")
-            
.add("variance_pop").add("var_samp").add("var_pop").add("variance_samp").add("avg_weighted").build();
+            
.add("variance_pop").add("var_samp").add("var_pop").add("variance_samp").add("avg_weighted")
+            .add("std").build();
     public static final Map<String, 
java.util.function.BiFunction<ArrayList<Expr>, Type, Type>> 
PRECISION_INFER_RULE;
     public static final java.util.function.BiFunction<ArrayList<Expr>, Type, 
Type> DEFAULT_PRECISION_INFER_RULE;
     public static final ImmutableSet<String> ROUND_FUNCTION_SET = new 
ImmutableSortedSet.Builder(
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinAggregateFunctions.java
 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinAggregateFunctions.java
index 4535ebdd02d..c1f31f79d40 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinAggregateFunctions.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinAggregateFunctions.java
@@ -150,7 +150,7 @@ public class BuiltinAggregateFunctions implements 
FunctionHelper {
             agg(SequenceCount.class, "sequence_count"),
             agg(SequenceMatch.class, "sequence_match"),
             agg(Skew.class, "skew", "skew_pop", "skewness"),
-            agg(Stddev.class, "stddev_pop", "stddev"),
+            agg(Stddev.class, "stddev_pop", "stddev", "std"),
             agg(StddevSamp.class, "stddev_samp"),
             agg(Sum.class, "sum"),
             agg(Sum0.class, "sum0"),
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java
index 926ab77ac65..de1d1178ed6 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java
@@ -1196,6 +1196,14 @@ public class FunctionSet<T> {
                         null, null, null,
                         "",
                         false, true, false, true));
+                addBuiltin(AggregateFunction.createBuiltin("stddev",
+                         Lists.newArrayList(t), STDDEV_RETTYPE_SYMBOL.get(t), 
t,
+                        "",
+                        "",
+                        "",
+                        null, null, null,
+                        "",
+                         false, true, false, true));
                 addBuiltin(AggregateFunction.createBuiltin("stddev_samp",
                         Lists.newArrayList(t), STDDEV_RETTYPE_SYMBOL.get(t), t,
                         "",
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/GenerateFunction.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/GenerateFunction.java
index 105ab00f395..0c189a7ca6a 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/GenerateFunction.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/GenerateFunction.java
@@ -182,6 +182,7 @@ public class GenerateFunction {
             .put("any", "any_value")
             .put("char_length", "character_length")
             .put("stddev_pop", "stddev")
+            .put("std", "stddev")
             .put("percentile_cont", "percentile")
             .put("var_pop", "variance")
             .put("variance_pop", "variance")
diff --git 
a/regression-test/data/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.out
 
b/regression-test/data/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.out
index 90953b0a11c..55298776e38 100644
Binary files 
a/regression-test/data/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.out
 and 
b/regression-test/data/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.out
 differ
diff --git 
a/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.groovy
 
b/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.groovy
index e9683ffb92b..06b8ba8e1ef 100644
--- 
a/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.groovy
+++ 
b/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.groovy
@@ -381,6 +381,7 @@ suite("test_aggregate_all_functions", "arrow_flight_sql") {
     sql "INSERT INTO ${tableName_15} values(1,10), (2,8), (2,441) ,(1,10) 
,(3,29) ,(3,101)"
 
     qt_select29 "select id,stddev(level) from ${tableName_15} group by id 
order by id"
+    qt_select29 "select id,std(level) from ${tableName_15} group by id order 
by id"
     qt_select30 "select id,stddev_pop(level) from ${tableName_15} group by id 
order by id"
 
     sql "DROP TABLE IF EXISTS ${tableName_15}"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to