aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-11-08 16:31:06 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-11-08 16:31:06 +0000
commit218f357d82380442da0024f839dfcfc836063667 (patch)
treec7faf378949b9bd6729c44bff428de18a618705a /src
parente6e893e74f97ca29f4d0acfcd2cea901d4b9701f (diff)
downloadpostgresql-218f357d82380442da0024f839dfcfc836063667.tar.gz
postgresql-218f357d82380442da0024f839dfcfc836063667.zip
CLUSTER did no permissions checking, forsooth ...
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;