summaryrefslogtreecommitdiff
path: root/src/backend/executor/execMain.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/executor/execMain.c
parent52350c7ad965d856da74514f89b88ce4ffbd18e7 (diff)
downloadpostgresql-96147a6d1c15b7604838dcd5de5ebd771f551d96.tar.gz
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/executor/execMain.c')
-rw-r--r--src/backend/executor/execMain.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index eda6ce518d..f87b674b07 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -27,7 +27,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.140 2001/05/15 00:33:36 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.141 2001/05/27 09:59:29 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -420,7 +420,7 @@ ExecCheckRTEPerms(RangeTblEntry *rte, CmdType operation)
if (rte->checkForRead)
{
- aclcheck_result = CHECK(ACL_RD);
+ aclcheck_result = CHECK(ACL_SELECT);
if (aclcheck_result != ACLCHECK_OK)
elog(ERROR, "%s: %s",
relName, aclcheck_error_strings[aclcheck_result]);
@@ -437,15 +437,14 @@ ExecCheckRTEPerms(RangeTblEntry *rte, CmdType operation)
switch (operation)
{
case CMD_INSERT:
- /* Accept either APPEND or WRITE access for this */
- aclcheck_result = CHECK(ACL_AP);
- if (aclcheck_result != ACLCHECK_OK)
- aclcheck_result = CHECK(ACL_WR);
+ aclcheck_result = CHECK(ACL_INSERT);
break;
case CMD_SELECT:
- case CMD_DELETE:
case CMD_UPDATE:
- aclcheck_result = CHECK(ACL_WR);
+ aclcheck_result = CHECK(ACL_UPDATE);
+ break;
+ case CMD_DELETE:
+ aclcheck_result = CHECK(ACL_DELETE);
break;
default:
elog(ERROR, "ExecCheckRTEPerms: bogus operation %d",