Skip to content

Commit f639783

Browse files
branch-3.1: [Exec](alias) support stddev alias to std #52819 (#52866)
Cherry-picked from #52819 Co-authored-by: HappenLee <[email protected]>
1 parent d854139 commit f639783

File tree

7 files changed

+19
-2
lines changed

7 files changed

+19
-2
lines changed

be/src/vec/aggregate_functions/aggregate_function_stddev.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ void register_aggregate_function_stddev_variance_pop(AggregateFunctionSimpleFact
9191
factory.register_alias("variance", "variance_pop");
9292
factory.register_function_both("stddev", create_aggregate_function_stddev_pop<true>);
9393
factory.register_alias("stddev", "stddev_pop");
94+
factory.register_alias("stddev", "std");
9495
}
9596

9697
void register_aggregate_function_stddev_variance_samp_old(AggregateFunctionSimpleFactory& factory) {

fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ public class FunctionCallExpr extends Expr {
8181
public static final ImmutableSet<String> STDDEV_FUNCTION_SET = new ImmutableSortedSet.Builder(
8282
String.CASE_INSENSITIVE_ORDER)
8383
.add("stddev").add("stddev_val").add("stddev_samp").add("stddev_pop").add("variance").add("variance_pop")
84-
.add("variance_pop").add("var_samp").add("var_pop").add("variance_samp").add("avg_weighted").build();
84+
.add("variance_pop").add("var_samp").add("var_pop").add("variance_samp").add("avg_weighted")
85+
.add("std").build();
8586
public static final Map<String, java.util.function.BiFunction<ArrayList<Expr>, Type, Type>> PRECISION_INFER_RULE;
8687
public static final java.util.function.BiFunction<ArrayList<Expr>, Type, Type> DEFAULT_PRECISION_INFER_RULE;
8788
public static final ImmutableSet<String> ROUND_FUNCTION_SET = new ImmutableSortedSet.Builder(

fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinAggregateFunctions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ public class BuiltinAggregateFunctions implements FunctionHelper {
150150
agg(SequenceCount.class, "sequence_count"),
151151
agg(SequenceMatch.class, "sequence_match"),
152152
agg(Skew.class, "skew", "skew_pop", "skewness"),
153-
agg(Stddev.class, "stddev_pop", "stddev"),
153+
agg(Stddev.class, "stddev_pop", "stddev", "std"),
154154
agg(StddevSamp.class, "stddev_samp"),
155155
agg(Sum.class, "sum"),
156156
agg(Sum0.class, "sum0"),

fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,14 @@ private void initAggregateBuiltins() {
11961196
null, null, null,
11971197
"",
11981198
false, true, false, true));
1199+
addBuiltin(AggregateFunction.createBuiltin("stddev",
1200+
Lists.newArrayList(t), STDDEV_RETTYPE_SYMBOL.get(t), t,
1201+
"",
1202+
"",
1203+
"",
1204+
null, null, null,
1205+
"",
1206+
false, true, false, true));
11991207
addBuiltin(AggregateFunction.createBuiltin("stddev_samp",
12001208
Lists.newArrayList(t), STDDEV_RETTYPE_SYMBOL.get(t), t,
12011209
"",

fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/GenerateFunction.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ public class GenerateFunction {
182182
.put("any", "any_value")
183183
.put("char_length", "character_length")
184184
.put("stddev_pop", "stddev")
185+
.put("std", "stddev")
185186
.put("percentile_cont", "percentile")
186187
.put("var_pop", "variance")
187188
.put("variance_pop", "variance")

regression-test/data/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.out

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,11 @@ beijing chengdu shanghai
211211
2 216.5
212212
3 36.0
213213

214+
-- !select29 --
215+
1 0.0
216+
2 216.5
217+
3 36.0
218+
214219
-- !select30 --
215220
1 0.0
216221
2 216.5

regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,7 @@ suite("test_aggregate_all_functions", "arrow_flight_sql") {
381381
sql "INSERT INTO ${tableName_15} values(1,10), (2,8), (2,441) ,(1,10) ,(3,29) ,(3,101)"
382382

383383
qt_select29 "select id,stddev(level) from ${tableName_15} group by id order by id"
384+
qt_select29 "select id,std(level) from ${tableName_15} group by id order by id"
384385
qt_select30 "select id,stddev_pop(level) from ${tableName_15} group by id order by id"
385386

386387
sql "DROP TABLE IF EXISTS ${tableName_15}"

0 commit comments

Comments
 (0)