This is an automated email from the ASF dual-hosted git repository.
jakevin 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 f4803e6602e [test](Nereids): add push_down_distinct_through_join
regression test (#30760)
f4803e6602e is described below
commit f4803e6602ed6afa144afcbb0282f7f4fadbb976
Author: jakevin <[email protected]>
AuthorDate: Fri Feb 2 23:04:22 2024 +0800
[test](Nereids): add push_down_distinct_through_join regression test
(#30760)
---
.../push_down_distinct_through_join.out | 42 +++++++++++++
.../push_down_distinct_through_join.groovy | 70 ++++++++++++++++++++++
2 files changed, 112 insertions(+)
diff --git
a/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out
b/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out
new file mode 100644
index 00000000000..1e6ea0878c7
--- /dev/null
+++
b/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out
@@ -0,0 +1,42 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- !basic_not --
+PhysicalResultSink
+--hashAgg[LOCAL]
+----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+------PhysicalOlapScan[t]
+------PhysicalOlapScan[t]
+
+-- !basic --
+PhysicalResultSink
+--hashAgg[LOCAL]
+----hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=()
+------hashAgg[LOCAL]
+--------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=()
+----------PhysicalOlapScan[t]
+----------PhysicalOlapScan[t]
+------PhysicalOlapScan[t]
+
+-- !basic_sql --
+1
+10
+2
+3
+4
+5
+6
+7
+8
+9
+
+-- !basic_sql_disable --
+1
+10
+2
+3
+4
+5
+6
+7
+8
+9
+
diff --git
a/regression-test/suites/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.groovy
b/regression-test/suites/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.groovy
new file mode 100644
index 00000000000..1903f99e7a2
--- /dev/null
+++
b/regression-test/suites/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.groovy
@@ -0,0 +1,70 @@
+// 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("push_down_distinct_through_join") {
+ sql "SET enable_nereids_planner=true"
+ sql "set runtime_filter_mode=OFF"
+ sql "SET enable_fallback_to_original_planner=false"
+ sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'"
+ sql "SET disable_join_reorder=true"
+
+ sql """
+ DROP TABLE IF EXISTS t;
+ """
+
+ sql """
+ CREATE TABLE IF NOT EXISTS t(
+ `id` int(32),
+ `score` int(64) NULL,
+ `name` varchar(64) NULL
+ ) ENGINE = OLAP
+ DISTRIBUTED BY HASH(id) BUCKETS 4
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql "insert into t values (1, 1, 'a')"
+ sql "insert into t values (2, null, 'a')"
+ sql "insert into t values (3, 1, null)"
+ sql "insert into t values (4, 2, 'b')"
+ sql "insert into t values (5, null, 'b')"
+ sql "insert into t values (6, 2, null)"
+ sql "insert into t values (7, 3, 'c')"
+ sql "insert into t values (8, null, 'c')"
+ sql "insert into t values (9, 3, null)"
+ sql "insert into t values (10, null, null)"
+
+ sql "SET ENABLE_NEREIDS_RULES=push_down_distinct_through_join"
+
+ qt_basic_not """
+ explain shape plan select distinct * from (select t1.id from t t1 join
t t2 on t1.id = t2.id) t;
+ """
+
+ qt_basic """
+ explain shape plan select distinct * from (select t1.id from t t1 join
t t2 on t1.id = t2.id join t t3 on t1.id = t3.id) t;
+ """
+
+ order_qt_basic_sql """
+ select distinct * from (select t1.id from t t1 join t t2 on t1.id =
t2.id join t t3 on t1.id = t3.id) t;
+ """
+
+ sql "SET ENABLE_NEREIDS_RULES=''"
+ order_qt_basic_sql_disable """
+ select distinct * from (select t1.id from t t1 join t t2 on t1.id =
t2.id join t t3 on t1.id = t3.id) t;
+ """
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]