diff options
| author | Tom Lane | 2013-03-04 00:05:47 +0000 |
|---|---|---|
| committer | Tom Lane | 2013-03-04 00:05:47 +0000 |
| commit | b15a6da29217b14f02895af1d9271e84415a91ae (patch) | |
| tree | b64150f2fc445ff79cb89846b173287d0c550e4b /src/test | |
| parent | 2b78d101d1d6b1d8533a7b7aeff4d82b10a915f8 (diff) | |
Get rid of any toast table when converting a table to a view.
Also make sure other fields of the view's pg_class entry are appropriate
for a view; it shouldn't have relfrozenxid set for instance.
This ancient omission isn't believed to have any serious consequences in
versions 8.4-9.2, so no backpatch. But let's fix it before it does bite
us in some serious way. It's just luck that the case doesn't cause
problems for autovacuum. (It did cause problems in 8.3, but that's out
of support.)
Andres Freund
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/rules.out | 7 | ||||
| -rw-r--r-- | src/test/regress/sql/rules.sql | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index 869ca8c9a9a..6ba984a9289 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -2327,6 +2327,13 @@ select xmin, * from fooview; -- fail, views don't have such a column ERROR: column "xmin" does not exist LINE 1: select xmin, * from fooview; ^ +select reltoastrelid, reltoastidxid, relkind, relfrozenxid + from pg_class where oid = 'fooview'::regclass; + reltoastrelid | reltoastidxid | relkind | relfrozenxid +---------------+---------------+---------+-------------- + 0 | 0 | v | 0 +(1 row) + drop view fooview; -- -- check for planner problems with complex inherited UPDATES diff --git a/src/test/regress/sql/rules.sql b/src/test/regress/sql/rules.sql index b8d67ae9f3d..4f49a0deca4 100644 --- a/src/test/regress/sql/rules.sql +++ b/src/test/regress/sql/rules.sql @@ -872,6 +872,9 @@ create rule "_RETURN" as on select to fooview do instead select * from fooview; select xmin, * from fooview; -- fail, views don't have such a column +select reltoastrelid, reltoastidxid, relkind, relfrozenxid + from pg_class where oid = 'fooview'::regclass; + drop view fooview; -- |
