summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/join.out25
-rw-r--r--src/test/regress/sql/join.sql9
2 files changed, 34 insertions, 0 deletions
diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out
index 75f03fcf30c..98d611412df 100644
--- a/src/test/regress/expected/join.out
+++ b/src/test/regress/expected/join.out
@@ -5068,6 +5068,31 @@ where current_user is not null; -- this is to add a Result node
-> Seq Scan on int4_tbl i4
(6 rows)
+-- and further discussion of bug #17781
+explain (costs off)
+select *
+from int8_tbl t1
+ left join (int8_tbl t2 left join onek t3 on t2.q1 > t3.unique1)
+ on t1.q2 = t2.q2
+ left join onek t4
+ on t2.q2 < t3.unique2;
+ QUERY PLAN
+-------------------------------------------------
+ Nested Loop Left Join
+ Join Filter: (t2.q2 < t3.unique2)
+ -> Nested Loop Left Join
+ Join Filter: (t2.q1 > t3.unique1)
+ -> Hash Left Join
+ Hash Cond: (t1.q2 = t2.q2)
+ -> Seq Scan on int8_tbl t1
+ -> Hash
+ -> Seq Scan on int8_tbl t2
+ -> Materialize
+ -> Seq Scan on onek t3
+ -> Materialize
+ -> Seq Scan on onek t4
+(13 rows)
+
-- check that join removal works for a left join when joining a subquery
-- that is guaranteed to be unique by its GROUP BY clause
explain (costs off)
diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql
index 2e764cdd51d..e50a7696069 100644
--- a/src/test/regress/sql/join.sql
+++ b/src/test/regress/sql/join.sql
@@ -1820,6 +1820,15 @@ from (select f1/2 as x from int4_tbl i4 left join a on a.id = i4.f1) ss1
right join int8_tbl i8 on true
where current_user is not null; -- this is to add a Result node
+-- and further discussion of bug #17781
+explain (costs off)
+select *
+from int8_tbl t1
+ left join (int8_tbl t2 left join onek t3 on t2.q1 > t3.unique1)
+ on t1.q2 = t2.q2
+ left join onek t4
+ on t2.q2 < t3.unique2;
+
-- check that join removal works for a left join when joining a subquery
-- that is guaranteed to be unique by its GROUP BY clause
explain (costs off)