diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-04-27 03:45:03 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-04-27 03:45:03 +0000 |
commit | 31c775adeb2251a9c66328cbc9016877e5e4f085 (patch) | |
tree | 065014ccecaae449f8a1c977319e823d54364c4b /src/backend/rewrite/rewriteRemove.c | |
parent | aafe72efb2d9a01db77bacf94b9b103042b5eb60 (diff) | |
download | postgresql-31c775adeb2251a9c66328cbc9016877e5e4f085.tar.gz postgresql-31c775adeb2251a9c66328cbc9016877e5e4f085.zip |
Restructure aclcheck error reporting to make permission-failure
messages more uniform and internationalizable: the global array
aclcheck_error_strings[] is gone in favor of a subroutine
aclcheck_error(). Partial implementation of namespace-related
permission checks --- not all done yet.
Diffstat (limited to 'src/backend/rewrite/rewriteRemove.c')
-rw-r--r-- | src/backend/rewrite/rewriteRemove.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/backend/rewrite/rewriteRemove.c b/src/backend/rewrite/rewriteRemove.c index df85fa504a0..97bf6589c90 100644 --- a/src/backend/rewrite/rewriteRemove.c +++ b/src/backend/rewrite/rewriteRemove.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.48 2002/04/18 20:01:09 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.49 2002/04/27 03:45:03 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -42,7 +42,7 @@ RemoveRewriteRule(Oid owningRel, const char *ruleName) Oid ruleId; Oid eventRelationOid; bool hasMoreRules; - int32 aclcheck_result; + AclResult aclresult; /* * Open the pg_rewrite relation. @@ -82,12 +82,9 @@ RemoveRewriteRule(Oid owningRel, const char *ruleName) /* * Verify user has appropriate permissions. */ - aclcheck_result = pg_class_aclcheck(eventRelationOid, GetUserId(), - ACL_RULE); - if (aclcheck_result != ACLCHECK_OK) - elog(ERROR, "%s: %s", - RelationGetRelationName(event_relation), - aclcheck_error_strings[aclcheck_result]); + aclresult = pg_class_aclcheck(eventRelationOid, GetUserId(), ACL_RULE); + if (aclresult != ACLCHECK_OK) + aclcheck_error(aclresult, RelationGetRelationName(event_relation)); /* do not allow the removal of a view's SELECT rule */ if (event_relation->rd_rel->relkind == RELKIND_VIEW && |