From 3e6b305d9e2a4616bf69e31b0b21ebbb844ba50e Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 22 Feb 2011 14:42:45 -0500 Subject: Fix a couple of unlogged tables goofs. "SELECT ... INTO UNLOGGED tabname" works, but wasn't documented; CREATE UNLOGGED SEQUENCE and CREATE UNLOGGED VIEW failed an assertion, instead of throwing a sensible error. Latter issue reported by Itagaki Takahiro; patch review by Tom Lane. --- src/backend/commands/sequence.c | 6 ++++++ src/backend/commands/view.c | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'src') diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 80ad516de1f..e71c311faf7 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -119,6 +119,12 @@ DefineSequence(CreateSeqStmt *seq) int i; NameData name; + /* Unlogged sequences are not implemented -- not clear if useful. */ + if (seq->sequence->relpersistence == RELPERSISTENCE_UNLOGGED) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("unlogged sequences are not supported"))); + /* Check and set all option values */ init_params(seq->options, true, &new, &owned_by); diff --git a/src/backend/commands/view.c b/src/backend/commands/view.c index 22dfc923cf6..1f418e907ea 100644 --- a/src/backend/commands/view.c +++ b/src/backend/commands/view.c @@ -465,6 +465,12 @@ DefineView(ViewStmt *stmt, const char *queryString) view->relname))); } + /* Unlogged views are not sensible. */ + if (view->relpersistence == RELPERSISTENCE_UNLOGGED) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("views cannot be unlogged because they do not have storage"))); + /* * Create the view relation * -- cgit v1.2.3