summaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2001-05-27 09:59:30 +0000
committerPeter Eisentraut <peter_e@gmx.net>2001-05-27 09:59:30 +0000
commit96147a6d1c15b7604838dcd5de5ebd771f551d96 (patch)
tree54ad7d06fff6c8d331194285bf3a7718630f5976 /src/backend/commands/trigger.c
parent52350c7ad965d856da74514f89b88ce4ffbd18e7 (diff)
Make UPDATE and DELETE privileges distinct. Add REFERENCES and TRIGGER
privileges. INSERT and COPY FROM now require INSERT (only). Add privileges regression test.
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r--src/backend/commands/trigger.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index 70f2e1b2957..70c146530f1 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.90 2001/03/22 06:16:11 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.91 2001/05/27 09:59:29 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -69,8 +69,10 @@ CreateTrigger(CreateTrigStmt *stmt)
if (!allowSystemTableMods && IsSystemRelationName(stmt->relname))
elog(ERROR, "CreateTrigger: can't create trigger for system relation %s", stmt->relname);
- if (!pg_ownercheck(GetUserId(), stmt->relname, RELNAME))
- elog(ERROR, "%s: %s", stmt->relname, aclcheck_error_strings[ACLCHECK_NOT_OWNER]);
+ if (pg_aclcheck(stmt->relname, GetUserId(),
+ stmt->isconstraint ? ACL_REFERENCES : ACL_TRIGGER)
+ != ACLCHECK_OK)
+ elog(ERROR, "permission denied");
/*
* If trigger is a constraint, user trigger name as constraint name