Skip to content

Commit

Permalink
add regression test
Browse files Browse the repository at this point in the history
  • Loading branch information
jackwener committed Nov 21, 2023
1 parent 2fedb01 commit dee989c
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ private void analyzeRuntimeFilterPushDownIntoCTEInfos(PhysicalHashJoin<? extends
|| !(join.getHashJoinConjuncts().get(0) instanceof EqualTo)) {
break;
} else {
EqualTo equalTo = (EqualTo) join.getEqualToConjuncts().get(0);
EqualTo equalTo = join.getEqualToConjuncts().get(0);
equalTos.add(equalTo);
equalCondToJoinMap.put(equalTo, join);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public PhysicalHashJoin visitPhysicalHashJoin(PhysicalHashJoin<? extends Plan, ?
List<ExprId> 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;
}
Expand Down
63 changes: 57 additions & 6 deletions regression-test/data/nereids_p0/join/test_join_15.out
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -314,19 +338,28 @@ 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
\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

-- !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
2 \N 2 \N \N 8.9 1 \N null \N \N 8.9
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -412,19 +453,28 @@ 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
\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

-- !cross_join --
\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
2 \N 2 \N \N 8.9 1 \N null \N \N 8.9
3 \N null 2019-09-09 \N 8.9 1 \N null \N \N 8.9
Expand All @@ -437,6 +487,7 @@ false true true false false
1 \N null \N \N 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
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
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 \N \N \N \N \N \N

6 changes: 5 additions & 1 deletion regression-test/suites/nereids_p0/join/test_join_15.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -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"""
Expand Down

0 comments on commit dee989c

Please sign in to comment.