diff options
| author | Kevin Grittner | 2013-07-16 17:55:44 +0000 |
|---|---|---|
| committer | Kevin Grittner | 2013-07-16 17:55:44 +0000 |
| commit | cc1965a99bf87005f431804bbda0f723887a04d6 (patch) | |
| tree | 694801e2e7a34a1247ad7858b9c81ff16a90ac39 /src/backend/parser | |
| parent | 7f7485a0cde92aa4ba235a1ffe4dda0ca0b6cc9a (diff) | |
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.
Diffstat (limited to 'src/backend/parser')
| -rw-r--r-- | src/backend/parser/gram.y | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index f67ef0c9ca..5e9b3eda92 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -3301,11 +3301,12 @@ OptNoLog: UNLOGGED { $$ = RELPERSISTENCE_UNLOGGED; } *****************************************************************************/ RefreshMatViewStmt: - REFRESH MATERIALIZED VIEW qualified_name opt_with_data + REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data { RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt); - n->relation = $4; - n->skipData = !($5); + n->concurrent = $4; + n->relation = $5; + n->skipData = !($6); $$ = (Node *) n; } ; |
