summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Haas2011-02-22 19:42:45 +0000
committerRobert Haas2011-02-22 19:46:19 +0000
commit3e6b305d9e2a4616bf69e31b0b21ebbb844ba50e (patch)
treee28d44546f3fbdeb0d41d76fac87bd99f6d4587c /src
parent1ab9b012bdf1f106792fc523e21b9ca8299bb8ed (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/sequence.c6
-rw-r--r--src/backend/commands/view.c6
2 files changed, 12 insertions, 0 deletions
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
*