diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-04-30 21:15:33 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-04-30 21:15:33 +0000 |
commit | 82a2881c5b230d62bc811a374503625226be02ae (patch) | |
tree | c4ff776d430890439dfd07c0ea93cd891ff790de /src/backend/utils/adt | |
parent | 986085a7f08c72219abf47f8b968213e81ab943c (diff) | |
download | postgresql-82a2881c5b230d62bc811a374503625226be02ae.tar.gz postgresql-82a2881c5b230d62bc811a374503625226be02ae.zip |
Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r-- | src/backend/utils/adt/acl.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 4f64104ad3d..0fa61196ea7 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/acl.c,v 1.132 2006/04/30 02:09:07 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/acl.c,v 1.133 2006/04/30 21:15:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -553,7 +553,8 @@ acldefault(GrantObjectType objtype, Oid ownerId) owner_default = ACL_ALL_RIGHTS_SEQUENCE; break; case ACL_OBJECT_DATABASE: - world_default = ACL_CREATE_TEMP | ACL_CONNECT; /* not NO_RIGHTS! */ + /* for backwards compatibility, grant some rights by default */ + world_default = ACL_CREATE_TEMP | ACL_CONNECT; owner_default = ACL_ALL_RIGHTS_DATABASE; break; case ACL_OBJECT_FUNCTION: @@ -1341,6 +1342,8 @@ convert_priv_string(text *priv_type_text) return ACL_CREATE_TEMP; if (pg_strcasecmp(priv_type, "TEMPORARY") == 0) return ACL_CREATE_TEMP; + if (pg_strcasecmp(priv_type, "CONNECT") == 0) + return ACL_CONNECT; ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -1778,6 +1781,11 @@ convert_database_priv_string(text *priv_type_text) if (pg_strcasecmp(priv_type, "TEMP WITH GRANT OPTION") == 0) return ACL_GRANT_OPTION_FOR(ACL_CREATE_TEMP); + if (pg_strcasecmp(priv_type, "CONNECT") == 0) + return ACL_CONNECT; + if (pg_strcasecmp(priv_type, "CONNECT WITH GRANT OPTION") == 0) + return ACL_GRANT_OPTION_FOR(ACL_CONNECT); + ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("unrecognized privilege type: \"%s\"", priv_type))); |