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

morrysnow 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 89157447aa9 [fix](nereids) set mark join reference for bitmap-in-apply 
(#35435)
89157447aa9 is described below

commit 89157447aa9b6bb171964fce51f61dfea95a9548
Author: minghong <engle...@gmail.com>
AuthorDate: Mon May 27 20:44:46 2024 +0800

    [fix](nereids) set mark join reference for bitmap-in-apply (#35435)
    
    bitmap filter is implemented before mark-join. When support mark-join, we 
forgot to update the bitmap-filter branch.
    when convert a bitmap-apply-in to join, we should set markjoinReference to 
the join if there are markJoinRefereneces
---
 .../doris/nereids/rules/rewrite/InApplyToJoin.java     |  1 +
 .../data/query_p0/join/test_bitmap_filter_nereids.out  | 18 ++++++++++++++++--
 .../query_p0/join/test_bitmap_filter_nereids.groovy    |  5 ++++-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InApplyToJoin.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InApplyToJoin.java
index d2db0183467..fdf6efb8167 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InApplyToJoin.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InApplyToJoin.java
@@ -90,6 +90,7 @@ public class InApplyToJoin extends OneRewriteRuleFactory {
                 return new LogicalJoin<>(JoinType.LEFT_SEMI_JOIN, 
Lists.newArrayList(),
                         Lists.newArrayList(expr),
                         new DistributeHint(DistributeType.NONE),
+                        apply.getMarkJoinSlotReference(),
                         apply.left(), agg, null);
             }
 
diff --git a/regression-test/data/query_p0/join/test_bitmap_filter_nereids.out 
b/regression-test/data/query_p0/join/test_bitmap_filter_nereids.out
index 2b1f654a198..95170815937 100644
--- a/regression-test/data/query_p0/join/test_bitmap_filter_nereids.out
+++ b/regression-test/data/query_p0/join/test_bitmap_filter_nereids.out
@@ -98,7 +98,7 @@
 1      1989
 10     1991
 
--- !sql1 --
+-- !sql15 --
 1      1989
 3      1989
 5      1985
@@ -108,4 +108,18 @@
 11     1989
 12     32767
 13     -32767
-14     255
\ No newline at end of file
+14     255
+
+-- !sq16 --
+1      1989
+2      1986
+3      1989
+5      1985
+7      -32767
+9      1991
+10     1991
+11     1989
+12     32767
+13     -32767
+14     255
+
diff --git 
a/regression-test/suites/query_p0/join/test_bitmap_filter_nereids.groovy 
b/regression-test/suites/query_p0/join/test_bitmap_filter_nereids.groovy
index be18b4fe0ea..7567705dabf 100644
--- a/regression-test/suites/query_p0/join/test_bitmap_filter_nereids.groovy
+++ b/regression-test/suites/query_p0/join/test_bitmap_filter_nereids.groovy
@@ -92,5 +92,8 @@ suite("test_bitmap_filter_nereids") {
         notContains "RF000[bitmap]"
     }  
     sql "set parallel_pipeline_task_num=6;"
-    qt_sql1 "select k1, k2 from test_query_db.bigtable where k1 in (select k2 
from bitmap_table_nereids) order by k1;"
+    qt_sql15 "select k1, k2 from test_query_db.bigtable where k1 in (select k2 
from bitmap_table_nereids) order by k1;"
+
+    //mark join
+    qt_sq16 "select k1, k2 from test_query_db.bigtable where k1 in (select k2 
from bitmap_table_nereids) or k1=2 order by k1"
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to