summaryrefslogtreecommitdiff
path: root/src/test/regress/sql/matview.sql
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2013-05-06 11:57:05 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2013-05-06 12:00:06 -0400
commit3223b25ff737c2bf4a642c0deb7be2b30bfecc6e (patch)
tree2ec5c28f97878700312e4be25799ff22e4e9818b /src/test/regress/sql/matview.sql
parentc29866073ba3aab67d78c0d19ecdf790f36a8e1a (diff)
downloadpostgresql-3223b25ff737c2bf4a642c0deb7be2b30bfecc6e.tar.gz
Disallow unlogged materialized views.
The initial implementation of this feature was really unsupportable, because it's relying on the physical size of an on-disk file to carry the relation's populated/unpopulated state, which is at least a modularity violation and could have serious long-term consequences. We could say that an unlogged matview goes to empty on crash, but not everybody likes that definition, so let's just remove the feature for 9.3. We can add it back when we have a less klugy implementation. I left the grammar and tab-completion support for CREATE UNLOGGED MATERIALIZED VIEW in place, since it's harmless and allows delivering a more specific error message about the unsupported feature. I'm committing this separately to ease identification of what should be reverted when/if we are able to re-enable the feature.
Diffstat (limited to 'src/test/regress/sql/matview.sql')
-rw-r--r--src/test/regress/sql/matview.sql19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/test/regress/sql/matview.sql b/src/test/regress/sql/matview.sql
index 9fbaafac6d..09a7378133 100644
--- a/src/test/regress/sql/matview.sql
+++ b/src/test/regress/sql/matview.sql
@@ -87,28 +87,11 @@ SELECT * FROM tvmm;
SELECT * FROM tvvm;
-- test diemv when the mv does not exist
-DROP MATERIALIZED VIEW IF EXISTS tum;
-
--- make sure that an unlogged materialized view works (in the absence of a crash)
-CREATE UNLOGGED MATERIALIZED VIEW tum AS SELECT type, sum(amt) AS totamt FROM t GROUP BY type WITH NO DATA;
-SELECT pg_relation_is_scannable('tum'::regclass);
-SELECT * FROM tum;
-REFRESH MATERIALIZED VIEW tum;
-SELECT pg_relation_is_scannable('tum'::regclass);
-SELECT * FROM tum;
-REFRESH MATERIALIZED VIEW tum WITH NO DATA;
-SELECT pg_relation_is_scannable('tum'::regclass);
-SELECT * FROM tum;
-REFRESH MATERIALIZED VIEW tum WITH DATA;
-SELECT pg_relation_is_scannable('tum'::regclass);
-SELECT * FROM tum;
+DROP MATERIALIZED VIEW IF EXISTS no_such_mv;
-- test join of mv and view
SELECT type, m.totamt AS mtot, v.totamt AS vtot FROM tm m LEFT JOIN tv v USING (type) ORDER BY type;
--- test diemv when the mv does exist
-DROP MATERIALIZED VIEW IF EXISTS tum;
-
-- make sure that dependencies are reported properly when they block the drop
DROP TABLE t;