[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] tablename [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE dbname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION funcname ([type, ...]) [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE langname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schemaname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
+ [ RESTRICT ]
See the description of the command for
the meaning of the privilege types.
+
+ The RESTRICT key word is currently only noise.
+ See also the compatibility notes below.
+
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.392 2003/01/09 20:50:51 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.393 2003/01/10 11:02:51 petere Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
;
RevokeStmt: REVOKE opt_revoke_grant_option privileges ON privilege_target
- FROM grantee_list
+ FROM grantee_list opt_drop_behavior
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->objtype = ($5)->objtype;
n->objects = ($5)->objs;
n->grantees = $7;
+
+ if ($8 == DROP_CASCADE)
+ elog(ERROR, "REVOKE ... CASCADE is not implemented");
+
$$ = (Node *)n;
}
;