mirror of
https://github.com/postgres/postgres.git
synced 2025-07-15 19:21:59 +03:00
Add optional drop behavior clause to REVOKE command, for SQL conformance.
Currently, only RESTRICT is allowed.
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$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">
|
<appendix id="features">
|
||||||
@ -740,6 +740,12 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.12 2002/12/14 00:24:23 pe
|
|||||||
<entry>DROP VIEW statement: RESTRICT clause</entry>
|
<entry>DROP VIEW statement: RESTRICT clause</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>F031-19</entry>
|
||||||
|
<entry>Core</entry>
|
||||||
|
<entry>REVOKE statement: RESTRICT clause</entry>
|
||||||
|
<entry></entry>
|
||||||
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>F032</entry>
|
<entry>F032</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
@ -1629,12 +1635,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.12 2002/12/14 00:24:23 pe
|
|||||||
<entry>Module language</entry>
|
<entry>Module language</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
|
||||||
<entry>F031-19</entry>
|
|
||||||
<entry>Core</entry>
|
|
||||||
<entry>REVOKE statement: RESTRICT clause</entry>
|
|
||||||
<entry></entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
<row>
|
||||||
<entry>F034</entry>
|
<entry>F034</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$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
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -20,22 +20,27 @@ REVOKE { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
|
|||||||
[,...] | ALL [ PRIVILEGES ] }
|
[,...] | ALL [ PRIVILEGES ] }
|
||||||
ON [ TABLE ] <replaceable class="PARAMETER">tablename</replaceable> [, ...]
|
ON [ TABLE ] <replaceable class="PARAMETER">tablename</replaceable> [, ...]
|
||||||
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
||||||
|
[ RESTRICT ]
|
||||||
|
|
||||||
REVOKE { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
|
REVOKE { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
|
||||||
ON DATABASE <replaceable>dbname</replaceable> [, ...]
|
ON DATABASE <replaceable>dbname</replaceable> [, ...]
|
||||||
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
||||||
|
[ RESTRICT ]
|
||||||
|
|
||||||
REVOKE { EXECUTE | ALL [ PRIVILEGES ] }
|
REVOKE { EXECUTE | ALL [ PRIVILEGES ] }
|
||||||
ON FUNCTION <replaceable>funcname</replaceable> ([<replaceable>type</replaceable>, ...]) [, ...]
|
ON FUNCTION <replaceable>funcname</replaceable> ([<replaceable>type</replaceable>, ...]) [, ...]
|
||||||
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
||||||
|
[ RESTRICT ]
|
||||||
|
|
||||||
REVOKE { USAGE | ALL [ PRIVILEGES ] }
|
REVOKE { USAGE | ALL [ PRIVILEGES ] }
|
||||||
ON LANGUAGE <replaceable>langname</replaceable> [, ...]
|
ON LANGUAGE <replaceable>langname</replaceable> [, ...]
|
||||||
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
||||||
|
[ RESTRICT ]
|
||||||
|
|
||||||
REVOKE { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
|
REVOKE { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
|
||||||
ON SCHEMA <replaceable>schemaname</replaceable> [, ...]
|
ON SCHEMA <replaceable>schemaname</replaceable> [, ...]
|
||||||
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
FROM { <replaceable class="PARAMETER">username</replaceable> | GROUP <replaceable class="PARAMETER">groupname</replaceable> | PUBLIC } [, ...]
|
||||||
|
[ RESTRICT ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
@ -63,6 +68,11 @@ REVOKE { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
|
|||||||
See the description of the <xref linkend="sql-grant" endterm="sql-grant-title"> command for
|
See the description of the <xref linkend="sql-grant" endterm="sql-grant-title"> command for
|
||||||
the meaning of the privilege types.
|
the meaning of the privilege types.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <literal>RESTRICT</literal> key word is currently only noise.
|
||||||
|
See also the compatibility notes below.
|
||||||
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1 id="SQL-REVOKE-notes">
|
<refsect1 id="SQL-REVOKE-notes">
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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
|
* HISTORY
|
||||||
* AUTHOR DATE MAJOR EVENT
|
* AUTHOR DATE MAJOR EVENT
|
||||||
@ -2751,7 +2751,7 @@ GrantStmt: GRANT privileges ON privilege_target TO grantee_list
|
|||||||
;
|
;
|
||||||
|
|
||||||
RevokeStmt: REVOKE opt_revoke_grant_option privileges ON privilege_target
|
RevokeStmt: REVOKE opt_revoke_grant_option privileges ON privilege_target
|
||||||
FROM grantee_list
|
FROM grantee_list opt_drop_behavior
|
||||||
{
|
{
|
||||||
GrantStmt *n = makeNode(GrantStmt);
|
GrantStmt *n = makeNode(GrantStmt);
|
||||||
n->is_grant = false;
|
n->is_grant = false;
|
||||||
@ -2759,6 +2759,10 @@ RevokeStmt: REVOKE opt_revoke_grant_option privileges ON privilege_target
|
|||||||
n->objtype = ($5)->objtype;
|
n->objtype = ($5)->objtype;
|
||||||
n->objects = ($5)->objs;
|
n->objects = ($5)->objs;
|
||||||
n->grantees = $7;
|
n->grantees = $7;
|
||||||
|
|
||||||
|
if ($8 == DROP_CASCADE)
|
||||||
|
elog(ERROR, "REVOKE ... CASCADE is not implemented");
|
||||||
|
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
Reference in New Issue
Block a user