aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/tcop/utility.c11
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;