diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/tcop/utility.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 9ee7267f700..79ac7c0f157 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.100 2000/11/07 02:17:50 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.101 2000/11/08 16:31:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -670,7 +670,14 @@ ProcessUtility(Node *parsetree, set_ps_display(commandTag = "CLUSTER"); - cluster(stmt->relname, stmt->indexname); + relname = stmt->relname; + if (IsSystemRelationName(relname)) + elog(ERROR, "CLUSTER: relation \"%s\" is a system catalog", + relname); + if (!pg_ownercheck(GetUserId(), relname, RELNAME)) + elog(ERROR, "permission denied"); + + cluster(relname, stmt->indexname); } break; |