diff options
| author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2005-11-21 12:49:33 +0000 |
|---|---|---|
| committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2005-11-21 12:49:33 +0000 |
| commit | cec3b0a9e63fd94b05dac894cca8bfa51358afec (patch) | |
| tree | 464377c39a1b3f42b4d2ab82a261e9a603fa1220 /src/include/utils/acl.h | |
| parent | c52795d18a698d25b9cd7cd1ca9318a42b08fdb9 (diff) | |
| download | postgresql-cec3b0a9e63fd94b05dac894cca8bfa51358afec.tar.gz | |
Implement DROP OWNED and REASSIGN OWNED. These new commands facilitate the
process of dropping roles by dropping objects owned by them and privileges
granted to them, or giving the owned objects to someone else, through the
use of the data stored in the new pg_shdepend catalog.
Some refactoring of the GRANT/REVOKE code was needed, as well as ALTER OWNER
code. Further cleanup of code duplication in the GRANT code seems necessary.
Implemented by me after an idea from Tom Lane, who also provided various kind
of implementation advice.
Regression tests pass. Some tests for the new functionality are also added,
as well as rudimentary documentation.
Diffstat (limited to 'src/include/utils/acl.h')
| -rw-r--r-- | src/include/utils/acl.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/utils/acl.h b/src/include/utils/acl.h index 8699913eb9..7b2122b9a9 100644 --- a/src/include/utils/acl.h +++ b/src/include/utils/acl.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/acl.h,v 1.88 2005/11/18 02:38:24 tgl Exp $ + * $PostgreSQL: pgsql/src/include/utils/acl.h,v 1.89 2005/11/21 12:49:33 alvherre Exp $ * * NOTES * An ACL array is simply an array of AclItems, representing the union @@ -221,6 +221,9 @@ extern Datum hash_aclitem(PG_FUNCTION_ARGS); * prototypes for functions in aclchk.c */ extern void ExecuteGrantStmt(GrantStmt *stmt); +extern void ExecGrantStmt_oids(bool is_grant, GrantObjectType objtype, + List *objects, bool all_privs, AclMode privileges, + List *grantees, bool grant_option, DropBehavior behavior); extern AclMode pg_class_aclmask(Oid table_oid, Oid roleid, AclMode mask, AclMaskHow how); |
