Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.
authorKevin Grittner <kgrittn@postgresql.org>
Tue, 16 Jul 2013 17:55:44 +0000 (12:55 -0500)
committerKevin Grittner <kgrittn@postgresql.org>
Tue, 16 Jul 2013 17:55:44 +0000 (12:55 -0500)
commitcc1965a99bf87005f431804bbda0f723887a04d6
tree694801e2e7a34a1247ad7858b9c81ff16a90ac39
parent7f7485a0cde92aa4ba235a1ffe4dda0ca0b6cc9a
Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.

This allows reads to continue without any blocking while a REFRESH
runs.  The new data appears atomically as part of transaction
commit.

Review questioned the Assert that a matview was not a system
relation.  This will be addressed separately.

Reviewed by Hitoshi Harada, Robert Haas, Andres Freund.
Merged after review with security patch f3ab5d4.
16 files changed:
doc/src/sgml/mvcc.sgml
doc/src/sgml/ref/refresh_materialized_view.sgml
src/backend/commands/cluster.c
src/backend/commands/matview.c
src/backend/commands/tablecmds.c
src/backend/executor/execMain.c
src/backend/executor/nodeModifyTable.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/parser/gram.y
src/bin/psql/tab-complete.c
src/include/commands/cluster.h
src/include/commands/matview.h
src/include/nodes/parsenodes.h
src/test/regress/expected/matview.out
src/test/regress/sql/matview.sql