summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/rules.out54
-rw-r--r--src/test/regress/sql/rules.sql18
2 files changed, 72 insertions, 0 deletions
diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out
index d50b103f159..26c60e4153f 100644
--- a/src/test/regress/expected/rules.out
+++ b/src/test/regress/expected/rules.out
@@ -2507,6 +2507,7 @@ select * from only t1_2;
19
(10 rows)
+reset constraint_exclusion;
-- test various flavors of pg_get_viewdef()
select pg_get_viewdef('shoe'::regclass) as unpretty;
unpretty
@@ -2678,3 +2679,56 @@ ALTER RULE "_RETURN" ON rule_v1 RENAME TO abc; -- ON SELECT rule cannot be renam
ERROR: renaming an ON SELECT rule is not allowed
DROP VIEW rule_v1;
DROP TABLE rule_t1;
+--
+-- check display of VALUES in view definitions
+--
+create view rule_v1 as values(1,2);
+\d+ rule_v1
+ View "public.rule_v1"
+ Column | Type | Modifiers | Storage | Description
+---------+---------+-----------+---------+-------------
+ column1 | integer | | plain |
+ column2 | integer | | plain |
+View definition:
+ VALUES (1,2);
+
+drop view rule_v1;
+create view rule_v1(x) as values(1,2);
+\d+ rule_v1
+ View "public.rule_v1"
+ Column | Type | Modifiers | Storage | Description
+---------+---------+-----------+---------+-------------
+ x | integer | | plain |
+ column2 | integer | | plain |
+View definition:
+ SELECT "*VALUES*".column1 AS x,
+ "*VALUES*".column2
+ FROM (VALUES (1,2)) "*VALUES*";
+
+drop view rule_v1;
+create view rule_v1(x) as select * from (values(1,2)) v;
+\d+ rule_v1
+ View "public.rule_v1"
+ Column | Type | Modifiers | Storage | Description
+---------+---------+-----------+---------+-------------
+ x | integer | | plain |
+ column2 | integer | | plain |
+View definition:
+ SELECT v.column1 AS x,
+ v.column2
+ FROM ( VALUES (1,2)) v;
+
+drop view rule_v1;
+create view rule_v1(x) as select * from (values(1,2)) v(q,w);
+\d+ rule_v1
+ View "public.rule_v1"
+ Column | Type | Modifiers | Storage | Description
+--------+---------+-----------+---------+-------------
+ x | integer | | plain |
+ w | integer | | plain |
+View definition:
+ SELECT v.q AS x,
+ v.w
+ FROM ( VALUES (1,2)) v(q, w);
+
+drop view rule_v1;
diff --git a/src/test/regress/sql/rules.sql b/src/test/regress/sql/rules.sql
index 1e15f84dc85..c385e414578 100644
--- a/src/test/regress/sql/rules.sql
+++ b/src/test/regress/sql/rules.sql
@@ -953,6 +953,8 @@ select * from only t1;
select * from only t1_1;
select * from only t1_2;
+reset constraint_exclusion;
+
-- test various flavors of pg_get_viewdef()
select pg_get_viewdef('shoe'::regclass) as unpretty;
@@ -1007,3 +1009,19 @@ ALTER RULE "_RETURN" ON rule_v1 RENAME TO abc; -- ON SELECT rule cannot be renam
DROP VIEW rule_v1;
DROP TABLE rule_t1;
+
+--
+-- check display of VALUES in view definitions
+--
+create view rule_v1 as values(1,2);
+\d+ rule_v1
+drop view rule_v1;
+create view rule_v1(x) as values(1,2);
+\d+ rule_v1
+drop view rule_v1;
+create view rule_v1(x) as select * from (values(1,2)) v;
+\d+ rule_v1
+drop view rule_v1;
+create view rule_v1(x) as select * from (values(1,2)) v(q,w);
+\d+ rule_v1
+drop view rule_v1;