<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.12 2002/12/14 00:24:23 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.13 2003/01/10 11:02:41 petere Exp $
-->
<appendix id="features">
<entry>DROP VIEW statement: RESTRICT clause</entry>
<entry></entry>
</row>
+ <row>
+ <entry>F031-19</entry>
+ <entry>Core</entry>
+ <entry>REVOKE statement: RESTRICT clause</entry>
+ <entry></entry>
+ </row>
<row>
<entry>F032</entry>
<entry></entry>
<entry>Module language</entry>
<entry></entry>
</row>
- <row>
- <entry>F031-19</entry>
- <entry>Core</entry>
- <entry>REVOKE statement: RESTRICT clause</entry>
- <entry></entry>
- </row>
<row>
<entry>F034</entry>
<entry></entry>
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/revoke.sgml,v 1.23 2002/11/21 23:34:43 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/revoke.sgml,v 1.24 2003/01/10 11:02:51 petere Exp $
PostgreSQL documentation
-->
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] <replaceable class="PARAMETER">tablename</replaceable> [, ...]
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE <replaceable>dbname</replaceable> [, ...]
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION <replaceable>funcname</replaceable> ([<replaceable>type</replaceable>, ...]) [, ...]
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE <replaceable>langname</replaceable> [, ...]
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
+ [ RESTRICT ]
REVOKE { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA <replaceable>schemaname</replaceable> [, ...]
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
+ [ RESTRICT ]
</synopsis>
</refsynopsisdiv>
See the description of the <xref linkend="sql-grant" endterm="sql-grant-title"> command for
the meaning of the privilege types.
</para>
+
+ <para>
+ The <literal>RESTRICT</literal> key word is currently only noise.
+ See also the compatibility notes below.
+ </para>
</refsect1>
<refsect1 id="SQL-REVOKE-notes">
*
*
* 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;
}
;