diff options
| author | Bruce Momjian <bruce@momjian.us> | 2002-08-15 16:36:08 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2002-08-15 16:36:08 +0000 |
| commit | b1a5f8720987fbfda23c6bfb4a0dd683b9bdae70 (patch) | |
| tree | 9212ba16b7941ad741708dd0999beaf3e6948232 /src/backend/commands/tablecmds.c | |
| parent | 38294db64bce9e78e6a1fc55fb6746074de59d2b (diff) | |
Tom Lane wrote:
> There's no longer a separate call to heap_storage_create in that routine
> --- the right place to make the test is now in the storage_create
> boolean parameter being passed to heap_create. A simple change, but
> it passeth patch's understanding ...
Thanks.
Attached is a patch against cvs tip as of 8:30 PM PST or so. Turned out
that even after fixing the failed hunks, there was a new spot in
bufmgr.c which needed to be fixed (related to temp relations;
RelationUpdateNumberOfBlocks). But thankfully the regression test code
caught it :-)
Joe Conway
Diffstat (limited to 'src/backend/commands/tablecmds.c')
| -rw-r--r-- | src/backend/commands/tablecmds.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index d40122cdf54..72ecd6d0ce4 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.28 2002/08/07 21:45:01 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.29 2002/08/15 16:36:02 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -345,6 +345,10 @@ TruncateRelation(const RangeVar *relation) elog(ERROR, "TRUNCATE cannot be used on views. '%s' is a view", RelationGetRelationName(rel)); + if (rel->rd_rel->relkind == RELKIND_COMPOSITE_TYPE) + elog(ERROR, "TRUNCATE cannot be used on type relations. '%s' is a type", + RelationGetRelationName(rel)); + if (!allowSystemTableMods && IsSystemRelation(rel)) elog(ERROR, "TRUNCATE cannot be used on system tables. '%s' is a system table", RelationGetRelationName(rel)); @@ -3210,12 +3214,13 @@ CheckTupleType(Form_pg_class tuple_class) case RELKIND_RELATION: case RELKIND_INDEX: case RELKIND_VIEW: + case RELKIND_COMPOSITE_TYPE: case RELKIND_SEQUENCE: case RELKIND_TOASTVALUE: /* ok to change owner */ break; default: - elog(ERROR, "ALTER TABLE: relation \"%s\" is not a table, TOAST table, index, view, or sequence", + elog(ERROR, "ALTER TABLE: relation \"%s\" is not a table, TOAST table, index, view, type, or sequence", NameStr(tuple_class->relname)); } } |
