diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java index acfd924940842df..cff906df208553d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java @@ -488,7 +488,7 @@ private void analyzeRuntimeFilterPushDownIntoCTEInfos(PhysicalHashJoin exprIds = ctx.getTargetExprIdByFilterJoin(join); if (exprIds != null && !exprIds.isEmpty()) { boolean isEffective = false; - for (Expression expr : join.getHashJoinConjuncts()) { + for (Expression expr : join.getEqualToConjuncts()) { if (isEffectiveRuntimeFilter((EqualTo) expr, join)) { isEffective = true; } diff --git a/regression-test/data/nereids_p0/join/test_join_15.out b/regression-test/data/nereids_p0/join/test_join_15.out index 5c9df35ba7b223f..c31466fc3e49771 100644 --- a/regression-test/data/nereids_p0/join/test_join_15.out +++ b/regression-test/data/nereids_p0/join/test_join_15.out @@ -172,12 +172,20 @@ false true true false false 3 \N null 2019-09-09 \N 8.9 3 \N null 2019-09-09 \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 5 \N null \N 2019-09-09T00:00 8.9 --- !hash_join -- +-- !hash_right_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 \N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 +-- !hash_left_join -- +1 \N null \N \N 8.9 \N \N \N \N \N \N +2 \N 2 \N \N 8.9 \N \N \N \N \N \N +3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N +5 \N null \N 2019-09-09T00:00 8.9 \N \N \N \N \N \N + +-- !hash_inner_join -- + -- !cross_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 @@ -226,12 +234,20 @@ false true true false false 5 \N null \N 2019-09-09T00:00 8.9 3 \N null 2019-09-09 \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 5 \N null \N 2019-09-09T00:00 8.9 --- !hash_join -- +-- !hash_right_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 \N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 +-- !hash_left_join -- +1 \N null \N \N 8.9 \N \N \N \N \N \N +2 \N 2 \N \N 8.9 \N \N \N \N \N \N +3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N +5 \N null \N 2019-09-09T00:00 8.9 \N \N \N \N \N \N + +-- !hash_inner_join -- + -- !cross_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 @@ -271,12 +287,20 @@ false true true false false 5 \N null \N 2019-09-09T00:00 8.9 3 \N null 2019-09-09 \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 5 \N null \N 2019-09-09T00:00 8.9 --- !hash_join -- +-- !hash_right_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 \N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 +-- !hash_left_join -- +1 \N null \N \N 8.9 \N \N \N \N \N \N +2 \N 2 \N \N 8.9 \N \N \N \N \N \N +3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N +5 \N null \N 2019-09-09T00:00 8.9 \N \N \N \N \N \N + +-- !hash_inner_join -- + -- !cross_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 @@ -285,6 +309,7 @@ false true true false false -- !cross_join -- \N \N \N \N \N \N 2 \N 2 \N \N 8.9 +\N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 3 \N null 2019-09-09 \N 8.9 1 \N null \N \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 1 \N null \N \N 8.9 @@ -314,12 +339,20 @@ false true true false false 5 \N null \N 2019-09-09T00:00 8.9 2 \N 2 \N \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 5 \N null \N 2019-09-09T00:00 8.9 --- !hash_join -- +-- !hash_right_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 \N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 +-- !hash_left_join -- +1 \N null \N \N 8.9 \N \N \N \N \N \N +2 \N 2 \N \N 8.9 \N \N \N \N \N \N +3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N +5 \N null \N 2019-09-09T00:00 8.9 \N \N \N \N \N \N + +-- !hash_inner_join -- + -- !cross_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 @@ -357,12 +390,20 @@ false true true false false 3 \N null 2019-09-09 \N 8.9 3 \N null 2019-09-09 \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 5 \N null \N 2019-09-09T00:00 8.9 --- !hash_join -- +-- !hash_right_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 \N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 +-- !hash_left_join -- +1 \N null \N \N 8.9 \N \N \N \N \N \N +2 \N 2 \N \N 8.9 \N \N \N \N \N \N +3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N +5 \N null \N 2019-09-09T00:00 8.9 \N \N \N \N \N \N + +-- !hash_inner_join -- + -- !cross_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 @@ -412,12 +453,20 @@ false true true false false 5 \N null \N 2019-09-09T00:00 8.9 3 \N null 2019-09-09 \N 8.9 5 \N null \N 2019-09-09T00:00 8.9 5 \N null \N 2019-09-09T00:00 8.9 --- !hash_join -- +-- !hash_right_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 \N \N \N \N \N \N 3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N 5 \N null \N 2019-09-09T00:00 8.9 +-- !hash_left_join -- +1 \N null \N \N 8.9 \N \N \N \N \N \N +2 \N 2 \N \N 8.9 \N \N \N \N \N \N +3 \N null 2019-09-09 \N 8.9 \N \N \N \N \N \N +5 \N null \N 2019-09-09T00:00 8.9 \N \N \N \N \N \N + +-- !hash_inner_join -- + -- !cross_join -- \N \N \N \N \N \N 1 \N null \N \N 8.9 \N \N \N \N \N \N 2 \N 2 \N \N 8.9 diff --git a/regression-test/suites/nereids_p0/join/test_join_15.groovy b/regression-test/suites/nereids_p0/join/test_join_15.groovy index 9778e45eb165008..22e6f8a06a3d9af 100644 --- a/regression-test/suites/nereids_p0/join/test_join_15.groovy +++ b/regression-test/suites/nereids_p0/join/test_join_15.groovy @@ -192,7 +192,11 @@ suite("test_join_15", "nereids_p0") { order by a.k1, b.k1""" qt_right_join"""select * from ${null_table_1} a right join ${null_table_1} b on a.k${index}<=>b.k${index} order by a.k1, b.k1""" - qt_hash_join"""select * from ${null_table_1} a right join ${null_table_1} b on a.k${index}<=>b.k${index} and a.k2=b.k2 + qt_hash_right_join"""select * from ${null_table_1} a right join ${null_table_1} b on a.k${index}<=>b.k${index} and a.k2=b.k2 + order by a.k1, b.k1""" + qt_hash_left_join"""select * from ${null_table_1} a left join ${null_table_1} b on a.k${index}<=>b.k${index} and a.k2=b.k2 + order by a.k1, b.k1""" + qt_hash_inner_join"""select * from ${null_table_1} a inner join ${null_table_1} b on a.k${index}<=>b.k${index} and a.k2=b.k2 order by a.k1, b.k1""" qt_cross_join"""select * from ${null_table_1} a right join ${null_table_1} b on a.k${index}<=>b.k${index} and a.k2 !=b.k2 order by a.k1, b.k1"""