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 dfcabf8d4711177fa7c60994c3f314408b52ee38 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