summaryrefslogtreecommitdiff
path: root/src/backend/commands/comment.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/comment.c')
-rw-r--r--src/backend/commands/comment.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/src/backend/commands/comment.c b/src/backend/commands/comment.c
index 3968ef14ef9..0eb59b912f3 100644
--- a/src/backend/commands/comment.c
+++ b/src/backend/commands/comment.c
@@ -7,7 +7,7 @@
* Copyright (c) 1999-2001, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/comment.c,v 1.44 2002/04/24 02:50:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/comment.c,v 1.45 2002/04/27 03:45:00 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -324,8 +324,7 @@ CommentRelation(int objtype, List *relname, char *comment)
/* Check object security */
if (!pg_class_ownercheck(RelationGetRelid(relation), GetUserId()))
- elog(ERROR, "you are not permitted to comment on class '%s'",
- RelationGetRelationName(relation));
+ aclcheck_error(ACLCHECK_NOT_OWNER, RelationGetRelationName(relation));
/* Next, verify that the relation type matches the intent */
@@ -395,8 +394,7 @@ CommentAttribute(List *qualname, char *comment)
/* Check object security */
if (!pg_class_ownercheck(RelationGetRelid(relation), GetUserId()))
- elog(ERROR, "you are not permitted to comment on class '%s'",
- RelationGetRelationName(relation));
+ aclcheck_error(ACLCHECK_NOT_OWNER, RelationGetRelationName(relation));
/* Now, fetch the attribute number from the system cache */
@@ -498,7 +496,7 @@ CommentRule(List *qualname, char *comment)
Oid reloid;
Oid ruleoid;
Oid classoid;
- int32 aclcheck;
+ AclResult aclcheck;
/* Separate relname and trig name */
nnames = length(qualname);
@@ -573,8 +571,7 @@ CommentRule(List *qualname, char *comment)
aclcheck = pg_class_aclcheck(reloid, GetUserId(), ACL_RULE);
if (aclcheck != ACLCHECK_OK)
- elog(ERROR, "you are not permitted to comment on rule '%s'",
- rulename);
+ aclcheck_error(aclcheck, rulename);
/* pg_rewrite doesn't have a hard-coded OID, so must look it up */
@@ -613,8 +610,7 @@ CommentType(List *typename, char *comment)
/* Check object security */
if (!pg_type_ownercheck(oid, GetUserId()))
- elog(ERROR, "you are not permitted to comment on type %s",
- TypeNameToString(tname));
+ aclcheck_error(ACLCHECK_NOT_OWNER, TypeNameToString(tname));
/* Call CreateComments() to create/drop the comments */
@@ -649,14 +645,7 @@ CommentAggregate(List *aggregate, List *arguments, char *comment)
/* Next, validate the user's attempt to comment */
if (!pg_proc_ownercheck(oid, GetUserId()))
- {
- if (baseoid == InvalidOid)
- elog(ERROR, "you are not permitted to comment on aggregate %s for all types",
- NameListToString(aggregate));
- else
- elog(ERROR, "you are not permitted to comment on aggregate %s for type %s",
- NameListToString(aggregate), format_type_be(baseoid));
- }
+ aclcheck_error(ACLCHECK_NOT_OWNER, NameListToString(aggregate));
/* Call CreateComments() to create/drop the comments */
@@ -685,8 +674,7 @@ CommentProc(List *function, List *arguments, char *comment)
/* Now, validate the user's ability to comment on this function */
if (!pg_proc_ownercheck(oid, GetUserId()))
- elog(ERROR, "you are not permitted to comment on function %s",
- NameListToString(function));
+ aclcheck_error(ACLCHECK_NOT_OWNER, NameListToString(function));
/* Call CreateComments() to create/drop the comments */
@@ -723,8 +711,7 @@ CommentOperator(List *opername, List *arguments, char *comment)
/* Valid user's ability to comment on this operator */
if (!pg_oper_ownercheck(oid, GetUserId()))
- elog(ERROR, "you are not permitted to comment on operator '%s'",
- NameListToString(opername));
+ aclcheck_error(ACLCHECK_NOT_OWNER, NameListToString(opername));
/* Get the procedure associated with the operator */
@@ -775,8 +762,7 @@ CommentTrigger(List *qualname, char *comment)
/* Check object security */
if (!pg_class_ownercheck(RelationGetRelid(relation), GetUserId()))
- elog(ERROR, "you are not permitted to comment on trigger '%s' for relation '%s'",
- trigname, RelationGetRelationName(relation));
+ aclcheck_error(ACLCHECK_NOT_OWNER, RelationGetRelationName(relation));
/*
* Fetch the trigger tuple from pg_trigger. There can be only one