This is an automated email from the ASF dual-hosted git repository.
starocean999 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 0c2514377ae [test](Nereids) add grouping sets test (#31675)
0c2514377ae is described below
commit 0c2514377ae27073a700ec0d45bed987dba6d6ea
Author: feiniaofeiafei <[email protected]>
AuthorDate: Tue Mar 5 22:01:39 2024 +0800
[test](Nereids) add grouping sets test (#31675)
Co-authored-by: feiniaofeiafei <[email protected]>
---
.../test_grouping_sets_combination.out | 184 ++++++++++++++++++++
.../test_grouping_sets_combination.groovy | 191 +++++++++++++++++++++
2 files changed, 375 insertions(+)
diff --git
a/regression-test/data/nereids_rules_p0/grouping_sets/test_grouping_sets_combination.out
b/regression-test/data/nereids_rules_p0/grouping_sets/test_grouping_sets_combination.out
new file mode 100644
index 00000000000..71e6d66283f
--- /dev/null
+++
b/regression-test/data/nereids_rules_p0/grouping_sets/test_grouping_sets_combination.out
@@ -0,0 +1,184 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- !sum_distinct --
+\N
+1
+1
+1
+1
+5
+5
+5
+6
+
+-- !count_distinct --
+0
+1
+1
+1
+1
+1
+1
+1
+2
+
+-- !count_distinct_multi --
+0 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+2 3
+
+-- !group_concat_distinct --
+\N 1
+\N 1
+\N 1,5
+\N 5
+1 1
+2 1
+3 5
+4 5
+6 \N
+
+-- !agg_subquery_expression --
+\N
+13
+13
+13
+13
+17
+17
+34
+60
+
+-- !agg_subquery_expression_distinct --
+\N
+13
+13
+13
+13
+17
+17
+17
+30
+
+-- !expression_after_agg_func1 --
+\N 7
+1 6
+5 13
+
+-- !expression_before_agg_func1 --
+\N 7
+1 7
+5 14
+
+-- !expression_before_agg_func2 --
+\N 6
+1 5
+5 12
+
+-- !expression_after_agg_func2 --
+\N 6
+1 5
+5 12
+
+-- !agg_func_window_func_rank --
+1
+3
+3
+
+-- !agg_func_window_func_sum --
+\N
+3
+15
+
+-- !window_func_expression_subquery --
+6
+
+-- !window_func_subquery --
+3
+
+-- !agg_func_distinct_case_when --
+1
+
+-- !expression_after_agg_func_multi_grouping_sets1 --
+\N 3
+\N 4
+\N 7
+\N 7
+\N 19
+1 3
+1 4
+1 6
+5 13
+5 13
+
+-- !expression_before_agg_func_multi_grouping_sets1 --
+\N 3
+\N 4
+\N 7
+\N 21
+\N 28
+1 7
+5 14
+
+-- !expression_before_agg_func_multi_grouping_sets2 --
+\N 2
+\N 3
+\N 6
+\N 6
+\N 18
+\N 23
+1 2
+1 3
+1 5
+5 12
+5 12
+
+-- !expression_after_agg_func_multi_grouping_sets2 --
+\N 2
+\N 3
+\N 6
+\N 6
+\N 18
+\N 23
+1 2
+1 3
+1 5
+5 12
+5 12
+
+-- !agg_func_window_func_rank_multi_grouping_sets --
+1
+1
+1
+1
+2
+2
+3
+3
+3
+4
+
+-- !agg_func_window_func_sum_multi_grouping_sets --
+\N
+1
+2
+3
+15
+15
+18
+
+-- !window_func_expression_subquery_multi_grouping_sets --
+6
+6
+6
+
+-- !window_func_subquery_multi_grouping_sets --
+9
+9
+9
+
diff --git
a/regression-test/suites/nereids_rules_p0/grouping_sets/test_grouping_sets_combination.groovy
b/regression-test/suites/nereids_rules_p0/grouping_sets/test_grouping_sets_combination.groovy
new file mode 100644
index 00000000000..219a5ccbcda
--- /dev/null
+++
b/regression-test/suites/nereids_rules_p0/grouping_sets/test_grouping_sets_combination.groovy
@@ -0,0 +1,191 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+suite("test_grouping_sets_combination") {
+ sql "SET enable_nereids_planner=true"
+ sql "SET enable_fallback_to_original_planner=false"
+ sql """
+ DROP TABLE IF EXISTS mal_test1
+ """
+
+ sql """
+ create table mal_test1(pk int, a int, b int) distributed by hash(pk)
buckets 10
+ properties('replication_num' = '1');
+ """
+
+ sql """
+ insert into mal_test1 values(2,1,3),(1,1,2),(3,5,6),(6,null,6),(4,5,6);
+ """
+
+ sql "drop table if exists test_window_table2"
+
+ sql """
+ create table test_window_table2
+ (
+ a varchar(100) null,
+ b decimalv3(18,10) null,
+ c int,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(a)
+ DISTRIBUTED BY HASH(a) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ insert into test_window_table2 values("1", 1, 1),("1", 1, 2),("1", 2,
1),("1", 2, 2),("2", 11, 1),("2", 11, 2),("2", 12, 1),("2", 12, 2);
+ """
+
+
+ sql """drop table if exists test_sql;"""
+ sql """
+ CREATE TABLE `test_sql` (
+ `user_id` varchar(10) NULL,
+ `dt` date NULL,
+ `city` varchar(20) NULL,
+ `age` int(11) NULL
+ ) ENGINE=OLAP
+ UNIQUE KEY(`user_id`)
+ COMMENT 'test'
+ DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1",
+ "is_being_synced" = "false",
+ "storage_format" = "V2",
+ "light_schema_change" = "true",
+ "disable_auto_compaction" = "false",
+ "enable_single_replica_compaction" = "false"
+ );
+ """
+
+ sql """ insert into test_sql values (1,'2020-09-09',2,3);"""
+
+ sql "DROP TABLE IF EXISTS agg_test_table_t;"
+ sql """
+ CREATE TABLE `agg_test_table_t` (
+ `k1` varchar(65533) NULL,
+ `k2` text NULL,
+ `k3` text null,
+ `k4` text null
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`k1`)
+ COMMENT 'OLAP'
+ DISTRIBUTED BY HASH(`k1`) BUCKETS 10
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1",
+ "is_being_synced" = "false",
+ "storage_format" = "V2",
+ "light_schema_change" = "true",
+ "disable_auto_compaction" = "false",
+ "enable_single_replica_compaction" = "false"
+ );
+ """
+
+ sql """insert into agg_test_table_t(`k1`,`k2`,`k3`)
values('20231026221524','PA','adigu1bububud');"""
+
+ sql "sync"
+
+ qt_sum_distinct """
+ select sum(distinct a) col1 from mal_test1 group by grouping sets
((b),(pk),()) order by col1;
+ """
+ qt_count_distinct """
+ select count(distinct a) col1 from mal_test1 group by grouping sets
((b),(pk),()) order by col1;
+ """
+
+ qt_count_distinct_multi """
+ select count(distinct a) col1,count(distinct b) col2 from mal_test1
+ group by grouping sets ((b),(pk),()) order by col1, col2;
+ """
+
+ qt_group_concat_distinct """
+ select pk, group_concat(distinct cast(a as varchar(10))) col1 from
mal_test1
+ group by grouping sets ((b),(pk),()) order by 1,2;
+ """
+
+ qt_agg_subquery_expression """
+ select sum(a+(select sum(a) from mal_test1)) col1 from mal_test1 group
by grouping sets ((b),(pk),()) order by col1;
+ """
+
+ qt_agg_subquery_expression_distinct """
+ select sum(distinct a+(select sum(a) from mal_test1)) col1 from
mal_test1 group by grouping sets ((b),(pk),()) order by col1;
+ """
+
+ qt_expression_after_agg_func1 """
+ select a,sum(b)+1 from mal_test1 group by grouping sets((a)) order by
1,2;
+ """
+
+ qt_expression_before_agg_func1 """
+ select a,sum(b+1) from mal_test1 group by grouping sets((a)) order by
1,2;
+ """
+ qt_expression_before_agg_func2 """
+ select a,sum(abs(b)) from mal_test1 group by grouping sets((a)) order
by 1,2;
+ """
+
+ qt_expression_after_agg_func2 """
+ select a, abs(sum(b)) from mal_test1 group by grouping sets((a))order
by 1,2;
+ """
+
+ qt_agg_func_window_func_rank """
+ select sum(rank() over (partition by a order by pk)) from mal_test1
group by grouping sets((a)) order by 1;
+ """
+
+ qt_agg_func_window_func_sum """
+ select sum(sum(a) over (partition by a order by pk)) from mal_test1
group by grouping sets((a)) order by 1;
+ """
+
+ qt_window_func_expression_subquery """
+ select sum(age + (select sum(age) from test_sql)) over() from test_sql
group by grouping sets ((dt,age)) order by 1;
+ """
+ qt_window_func_subquery """
+ Select sum( (select sum(age) from test_sql)) over() from test_sql
group by grouping sets ((city)) order by 1;
+ """
+ qt_agg_func_distinct_case_when """
+ select count(distinct case when t.k2='PA' and
loan_date=to_date(substr(t.k1,1,8)) then t.k2 end )
+ from (select substr(k1,1,8) loan_date,k3,k2,k1 from agg_test_table_t)
t group by grouping sets((substr(t.k1,1,8)))
+ order by 1;
+ """
+
+ qt_expression_after_agg_func_multi_grouping_sets1 """
+ select a,sum(b)+1 col1 from mal_test1 group by grouping
sets((a),(b),(a,b)) order by a,col1;
+ """
+
+ qt_expression_before_agg_func_multi_grouping_sets1 """
+ select a,sum(b+1) from mal_test1 group by grouping sets((a),(b),())
order by 1,2;
+ """
+ qt_expression_before_agg_func_multi_grouping_sets2 """
+ select a,sum(abs(b)) from mal_test1 group by grouping
sets((a),(b),(),(a,b)) order by 1,2;
+ """
+
+ qt_expression_after_agg_func_multi_grouping_sets2 """
+ select a, abs(sum(b)) from mal_test1 group by grouping
sets((a),(b),(),(a,b))order by 1,2;
+ """
+
+ qt_agg_func_window_func_rank_multi_grouping_sets """
+ select sum(rank() over (partition by a order by pk)) from mal_test1
group by grouping sets((a),(b),(a,b)) order by 1;
+ """
+
+ qt_agg_func_window_func_sum_multi_grouping_sets """
+ select sum(sum(a) over (partition by a order by pk)) from mal_test1
group by grouping sets((a),(b),()) order by 1;
+ """
+
+ qt_window_func_expression_subquery_multi_grouping_sets """
+ select sum(age + (select sum(age) from test_sql)) over() from test_sql
group by grouping sets ((dt,age),(dt),()) order by 1;
+ """
+ qt_window_func_subquery_multi_grouping_sets """
+ Select sum((select sum(age) from test_sql)) over() from test_sql group
by grouping sets ((city),(age),()) order by 1;
+ """
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]