summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/create_view.out28
-rw-r--r--src/test/regress/sql/create_view.sql13
2 files changed, 41 insertions, 0 deletions
diff --git a/src/test/regress/expected/create_view.out b/src/test/regress/expected/create_view.out
index 8b45142967..23efff16ff 100644
--- a/src/test/regress/expected/create_view.out
+++ b/src/test/regress/expected/create_view.out
@@ -1243,6 +1243,34 @@ select pg_get_viewdef('vv4', true);
FULL JOIN tt8 tt8y(x_1, z, z2) USING (x_1);
(1 row)
+-- Implicit coercions in a JOIN USING create issues similar to FULL JOIN
+create table tt7a (x date, xx int, y int);
+alter table tt7a drop column xx;
+create table tt8a (x timestamptz, z int);
+create view vv2a as
+select * from (values(now(),2,3,now(),5)) v(a,b,c,d,e)
+union all
+select * from tt7a left join tt8a using (x), tt8a tt8ax;
+select pg_get_viewdef('vv2a', true);
+ pg_get_viewdef
+----------------------------------------------------------------
+ SELECT v.a, +
+ v.b, +
+ v.c, +
+ v.d, +
+ v.e +
+ FROM ( VALUES (now(),2,3,now(),5)) v(a, b, c, d, e)+
+ UNION ALL +
+ SELECT x AS a, +
+ tt7a.y AS b, +
+ tt8a.z AS c, +
+ tt8ax.x_1 AS d, +
+ tt8ax.z AS e +
+ FROM tt7a +
+ LEFT JOIN tt8a USING (x), +
+ tt8a tt8ax(x_1, z);
+(1 row)
+
--
-- Also check dropping a column that existed when the view was made
--
diff --git a/src/test/regress/sql/create_view.sql b/src/test/regress/sql/create_view.sql
index 4fbd5a5e6f..234a4214b2 100644
--- a/src/test/regress/sql/create_view.sql
+++ b/src/test/regress/sql/create_view.sql
@@ -389,6 +389,19 @@ select pg_get_viewdef('vv2', true);
select pg_get_viewdef('vv3', true);
select pg_get_viewdef('vv4', true);
+-- Implicit coercions in a JOIN USING create issues similar to FULL JOIN
+
+create table tt7a (x date, xx int, y int);
+alter table tt7a drop column xx;
+create table tt8a (x timestamptz, z int);
+
+create view vv2a as
+select * from (values(now(),2,3,now(),5)) v(a,b,c,d,e)
+union all
+select * from tt7a left join tt8a using (x), tt8a tt8ax;
+
+select pg_get_viewdef('vv2a', true);
+
--
-- Also check dropping a column that existed when the view was made
--