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 <[email protected]>
---
.../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: [email protected]
For additional commands, e-mail: [email protected]