]> granicus.if.org Git - postgresql/commit
Disallow unlogged materialized views.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 6 May 2013 15:57:05 +0000 (11:57 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 6 May 2013 16:00:06 +0000 (12:00 -0400)
commit3223b25ff737c2bf4a642c0deb7be2b30bfecc6e
tree2ec5c28f97878700312e4be25799ff22e4e9818b
parentc29866073ba3aab67d78c0d19ecdf790f36a8e1a
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.
doc/src/sgml/ref/create_materialized_view.sgml
src/backend/parser/analyze.c
src/test/regress/expected/matview.out
src/test/regress/sql/matview.sql