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

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

commit 5731ed7aad1d86f52cc014fc19c14a474471873c
Author: 谢健 <[email protected]>
AuthorDate: Tue Jan 30 10:26:15 2024 +0800

    [fix](Nereids): add order by when testing pkfk to avoid unstable res #30507
---
 regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out    | 8 ++++----
 .../suites/nereids_rules_p0/pkfk/eliminate_inner.groovy           | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out 
b/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out
index d1e060e7dd0..fbbbf32b065 100644
--- a/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out
+++ b/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out
@@ -102,8 +102,8 @@ fk with limit
 
 -- !shape --
 PhysicalResultSink
---PhysicalLimit[GLOBAL]
-----PhysicalLimit[LOCAL]
+--PhysicalTopN[MERGE_SORT]
+----PhysicalTopN[LOCAL_SORT]
 ------PhysicalOlapScan[fkt_not_null]
 
 -- !res --
@@ -245,8 +245,8 @@ fk with limit
 -- !shape --
 PhysicalResultSink
 --filter(( not fk IS NULL))
-----PhysicalLimit[GLOBAL]
-------PhysicalLimit[LOCAL]
+----PhysicalTopN[MERGE_SORT]
+------PhysicalTopN[LOCAL_SORT]
 --------PhysicalOlapScan[fkt]
 
 -- !res --
diff --git 
a/regression-test/suites/nereids_rules_p0/pkfk/eliminate_inner.groovy 
b/regression-test/suites/nereids_rules_p0/pkfk/eliminate_inner.groovy
index 6819c06d608..a2e750f3dd2 100644
--- a/regression-test/suites/nereids_rules_p0/pkfk/eliminate_inner.groovy
+++ b/regression-test/suites/nereids_rules_p0/pkfk/eliminate_inner.groovy
@@ -96,7 +96,7 @@ suite("eliminate_inner") {
     check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join (select 
fkt_not_null1.fk from fkt_not_null as fkt_not_null1 group by fkt_not_null1.fk) 
fkt_not_null on pkt.pk = fkt_not_null.fk;", "with_pk_col")
     check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join (select 
* from fkt_not_null union select * from fkt_not_null) fkt_not_null on pkt.pk = 
fkt_not_null.fk;", "with_pk_col")
     check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join (select 
fk, ROW_NUMBER() OVER (PARTITION BY fk ORDER BY fk) AS RowNum from 
fkt_not_null) fkt_not_null on pkt.pk = fkt_not_null.fk;", "fk with window")
-    check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join (select 
fk from fkt_not_null limit 1) fkt_not_null on pkt.pk = fkt_not_null.fk;", "fk 
with limit")
+    check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join (select 
fk from fkt_not_null order by fk limit 1) fkt_not_null on pkt.pk = 
fkt_not_null.fk;", "fk with limit")
     check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join 
fkt_not_null on pkt.pk = fkt_not_null.fk where pkt.pk = 1 and fkt_not_null.fk = 
1;", "pk with filter that same as fk")
     check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join 
fkt_not_null on pkt.pk = fkt_not_null.fk where pkt.pk = 1 and fkt_not_null.fk = 
1 and fkt_not_null.f = 1;", "pk with filter that included same as fk")
     check_shape_res("select fkt_not_null.*, pkt.pk from pkt inner join 
fkt_not_null on pkt.pk = fkt_not_null.fk where pkt.p = 1 and fkt_not_null.fk = 
1 and fkt_not_null.f = 1;;", "pk with filter that not same as fk")
@@ -109,7 +109,7 @@ suite("eliminate_inner") {
     check_shape_res("select fkt.*, pkt.pk from pkt inner join (select fkt1.fk 
from fkt as fkt1 group by fkt1.fk) fkt on pkt.pk = fkt.fk;", "with_pk_col")
     check_shape_res("select fkt.*, pkt.pk from pkt inner join (select * from 
fkt union select * from fkt) fkt on pkt.pk = fkt.fk;", "with_pk_col")
     check_shape_res("select fkt.*, pkt.pk from pkt inner join (select fk, 
ROW_NUMBER() OVER (PARTITION BY fk ORDER BY fk) AS RowNum from fkt) fkt on 
pkt.pk = fkt.fk;", "fk with window")
-    check_shape_res("select fkt.*, pkt.pk from pkt inner join (select fk from 
fkt limit 1) fkt on pkt.pk = fkt.fk;", "fk with limit")
+    check_shape_res("select fkt.*, pkt.pk from pkt inner join (select fk from 
fkt order by fk limit 1 ) fkt on pkt.pk = fkt.fk;", "fk with limit")
     check_shape_res("select fkt.*, pkt.pk from pkt inner join fkt on pkt.pk = 
fkt.fk where pkt.pk = 1 and fkt.fk = 1;", "pk with filter that same as fk")
     check_shape_res("select fkt.*, pkt.pk from pkt inner join fkt on pkt.pk = 
fkt.fk where pkt.pk = 1 and fkt.fk = 1 and fkt.f = 1;", "pk with filter that 
included same as fk")
     check_shape_res("select fkt.*, pkt.pk from pkt inner join fkt on pkt.pk = 
fkt.fk where pkt.p = 1 and fkt.fk = 1 and fkt.f = 1;;", "pk with filter that 
not same as fk")


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to