summaryrefslogtreecommitdiffstats
path: root/src/test/regress/expected/join.out
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-21 05:05:26 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-21 05:05:26 +0000
commite75d99818dd3940be997520e64db8c9e3b207e39 (patch)
tree0003ca0de74fcc8d18433e34ea68d2e7aaf06b7c /src/test/regress/expected/join.out
parentReleasing progress-linux version 15.6-0+deb12u1~progress6.99u1. (diff)
downloadpostgresql-15-e75d99818dd3940be997520e64db8c9e3b207e39.tar.xz
postgresql-15-e75d99818dd3940be997520e64db8c9e3b207e39.zip
Merging upstream version 15.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/regress/expected/join.out')
-rw-r--r--src/test/regress/expected/join.out31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out
index 867c6d2..b356153 100644
--- a/src/test/regress/expected/join.out
+++ b/src/test/regress/expected/join.out
@@ -5949,6 +5949,37 @@ select * from
3 | 3
(6 rows)
+-- check for generation of join EC conditions at wrong level (bug #18429)
+explain (costs off)
+select * from (
+ select arrayd.ad, coalesce(c.hundred, 0) as h
+ from unnest(array[1]) as arrayd(ad)
+ left join lateral (
+ select hundred from tenk1 where unique2 = arrayd.ad
+ ) c on true
+) c2
+where c2.h * c2.ad = c2.h * (c2.ad + 1);
+ QUERY PLAN
+-------------------------------------------------------------------------------------------------------
+ Nested Loop Left Join
+ Filter: ((COALESCE(tenk1.hundred, 0) * arrayd.ad) = (COALESCE(tenk1.hundred, 0) * (arrayd.ad + 1)))
+ -> Function Scan on unnest arrayd
+ -> Index Scan using tenk1_unique2 on tenk1
+ Index Cond: (unique2 = arrayd.ad)
+(5 rows)
+
+select * from (
+ select arrayd.ad, coalesce(c.hundred, 0) as h
+ from unnest(array[1]) as arrayd(ad)
+ left join lateral (
+ select hundred from tenk1 where unique2 = arrayd.ad
+ ) c on true
+) c2
+where c2.h * c2.ad = c2.h * (c2.ad + 1);
+ ad | h
+----+---
+(0 rows)
+
-- check the number of columns specified
SELECT * FROM (int8_tbl i cross join int4_tbl j) ss(a,b,c,d);
ERROR: join expression "ss" has 3 columns available but 4 columns specified