Skip to content

Commit 5ec1341

Browse files
committed
Use plurals (TABLES, FUNCTIONS, etc) in ALTER DEFAULT PRIVILEGES. We have
the keywords as a consequence of the GRANT ALL patch, so we might as well use them and make the ALTER commands read more naturally.
1 parent 11ca04b commit 5ec1341

File tree

6 files changed

+44
-39
lines changed

6 files changed

+44
-39
lines changed

doc/src/sgml/ref/alter_default_privileges.sgml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_default_privileges.sgml,v 1.1 2009/10/05 19:24:33 tgl Exp $
2+
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_default_privileges.sgml,v 1.2 2009/10/12 23:41:43 tgl Exp $
33
PostgreSQL documentation
44
-->
55

@@ -30,35 +30,35 @@ ALTER DEFAULT PRIVILEGES
3030

3131
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
3232
[,...] | ALL [ PRIVILEGES ] }
33-
ON TABLE
33+
ON TABLES
3434
TO { [ GROUP ] <replaceable class="PARAMETER">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
3535

3636
GRANT { { USAGE | SELECT | UPDATE }
3737
[,...] | ALL [ PRIVILEGES ] }
38-
ON SEQUENCE
38+
ON SEQUENCES
3939
TO { [ GROUP ] <replaceable class="PARAMETER">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
4040

4141
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
42-
ON FUNCTION
42+
ON FUNCTIONS
4343
TO { [ GROUP ] <replaceable class="PARAMETER">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
4444

4545
REVOKE [ GRANT OPTION FOR ]
4646
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
4747
[,...] | ALL [ PRIVILEGES ] }
48-
ON TABLE
48+
ON TABLES
4949
FROM { [ GROUP ] <replaceable class="PARAMETER">role_name</replaceable> | PUBLIC } [, ...]
5050
[ CASCADE | RESTRICT ]
5151

5252
REVOKE [ GRANT OPTION FOR ]
5353
{ { USAGE | SELECT | UPDATE }
5454
[,...] | ALL [ PRIVILEGES ] }
55-
ON SEQUENCE
55+
ON SEQUENCES
5656
FROM { [ GROUP ] <replaceable class="PARAMETER">role_name</replaceable> | PUBLIC } [, ...]
5757
[ CASCADE | RESTRICT ]
5858

5959
REVOKE [ GRANT OPTION FOR ]
6060
{ EXECUTE | ALL [ PRIVILEGES ] }
61-
ON FUNCTION
61+
ON FUNCTIONS
6262
FROM { [ GROUP ] <replaceable class="PARAMETER">role_name</replaceable> | PUBLIC } [, ...]
6363
[ CASCADE | RESTRICT ]
6464
</synopsis>
@@ -165,8 +165,8 @@ REVOKE [ GRANT OPTION FOR ]
165165
role <literal>webuser</> to INSERT into them too:
166166

167167
<programlisting>
168-
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT SELECT ON TABLE TO PUBLIC;
169-
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT INSERT ON TABLE TO webuser;
168+
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT SELECT ON TABLES TO PUBLIC;
169+
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT INSERT ON TABLES TO webuser;
170170
</programlisting>
171171
</para>
172172

@@ -175,8 +175,8 @@ ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT INSERT ON TABLE TO webuser;
175175
more permissions than normal:
176176

177177
<programlisting>
178-
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema REVOKE SELECT ON TABLE FROM PUBLIC;
179-
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema REVOKE INSERT ON TABLE FROM webuser;
178+
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema REVOKE SELECT ON TABLES FROM PUBLIC;
179+
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema REVOKE INSERT ON TABLES FROM webuser;
180180
</programlisting>
181181
</para>
182182

@@ -185,7 +185,7 @@ ALTER DEFAULT PRIVILEGES IN SCHEMA myschema REVOKE INSERT ON TABLE FROM webuser;
185185
for all functions subsequently created by role <literal>admin</>:
186186

187187
<programlisting>
188-
ALTER DEFAULT PRIVILEGES FOR ROLE admin REVOKE EXECUTE ON FUNCTION FROM PUBLIC;
188+
ALTER DEFAULT PRIVILEGES FOR ROLE admin REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;
189189
</programlisting>
190190
</para>
191191
</refsect1>

src/backend/parser/gram.y

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*
1212
*
1313
* IDENTIFICATION
14-
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.684 2009/10/12 20:39:41 tgl Exp $
14+
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.685 2009/10/12 23:41:43 tgl Exp $
1515
*
1616
* HISTORY
1717
* AUTHOR DATE MAJOR EVENT
@@ -4676,8 +4676,8 @@ DefACLOption:
46764676
;
46774677

46784678
/*
4679-
* This should match GRANT/REVOKE, except that target objects are missing
4680-
* and we only allow a subset of object types.
4679+
* This should match GRANT/REVOKE, except that individual target objects
4680+
* are not mentioned and we only allow a subset of object types.
46814681
*/
46824682
DefACLAction:
46834683
GRANT privileges ON defacl_privilege_target TO grantee_list
@@ -4724,9 +4724,9 @@ DefACLAction:
47244724
;
47254725

47264726
defacl_privilege_target:
4727-
TABLE { $$ = ACL_OBJECT_RELATION; }
4728-
| FUNCTION { $$ = ACL_OBJECT_FUNCTION; }
4729-
| SEQUENCE { $$ = ACL_OBJECT_SEQUENCE; }
4727+
TABLES { $$ = ACL_OBJECT_RELATION; }
4728+
| FUNCTIONS { $$ = ACL_OBJECT_FUNCTION; }
4729+
| SEQUENCES { $$ = ACL_OBJECT_SEQUENCE; }
47304730
;
47314731

47324732

src/bin/pg_dump/dumputils.c

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
99
* Portions Copyright (c) 1994, Regents of the University of California
1010
*
11-
* $PostgreSQL: pgsql/src/bin/pg_dump/dumputils.c,v 1.50 2009/10/07 22:14:24 alvherre Exp $
11+
* $PostgreSQL: pgsql/src/bin/pg_dump/dumputils.c,v 1.51 2009/10/12 23:41:43 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -689,7 +689,7 @@ buildACLCommands(const char *name, const char *subname,
689689
/*
690690
* Build ALTER DEFAULT PRIVILEGES command(s) for single pg_default_acl entry.
691691
*
692-
* type: the object type (as seen in GRANT command)
692+
* type: the object type (TABLES, FUNCTIONS, etc)
693693
* nspname: schema name, or NULL for global default privileges
694694
* acls: the ACL string fetched from the database
695695
* owner: username of privileges owner (will be passed through fmtId)
@@ -803,11 +803,13 @@ do { \
803803
resetPQExpBuffer(privs);
804804
resetPQExpBuffer(privswgo);
805805

806-
if (strcmp(type, "TABLE") == 0 || strcmp(type, "SEQUENCE") == 0)
806+
if (strcmp(type, "TABLE") == 0 || strcmp(type, "SEQUENCE") == 0 ||
807+
strcmp(type, "TABLES") == 0 || strcmp(type, "SEQUENCES") == 0)
807808
{
808809
CONVERT_PRIV('r', "SELECT");
809810

810-
if (strcmp(type, "SEQUENCE") == 0)
811+
if (strcmp(type, "SEQUENCE") == 0 ||
812+
strcmp(type, "SEQUENCES") == 0)
811813
/* sequence only */
812814
CONVERT_PRIV('U', "USAGE");
813815
else
@@ -830,13 +832,16 @@ do { \
830832
}
831833

832834
/* UPDATE */
833-
if (remoteVersion >= 70200 || strcmp(type, "SEQUENCE") == 0)
835+
if (remoteVersion >= 70200 ||
836+
strcmp(type, "SEQUENCE") == 0 ||
837+
strcmp(type, "SEQUENCES") == 0)
834838
CONVERT_PRIV('w', "UPDATE");
835839
else
836840
/* 7.0 and 7.1 have a simpler worldview */
837841
CONVERT_PRIV('w', "UPDATE,DELETE");
838842
}
839-
else if (strcmp(type, "FUNCTION") == 0)
843+
else if (strcmp(type, "FUNCTION") == 0 ||
844+
strcmp(type, "FUNCTIONS") == 0)
840845
CONVERT_PRIV('X', "EXECUTE");
841846
else if (strcmp(type, "LANGUAGE") == 0)
842847
CONVERT_PRIV('U', "USAGE");

src/bin/pg_dump/pg_dump.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* by PostgreSQL
1313
*
1414
* IDENTIFICATION
15-
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.550 2009/10/09 21:02:56 petere Exp $
15+
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.551 2009/10/12 23:41:43 tgl Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -9944,13 +9944,13 @@ dumpDefaultACL(Archive *fout, DefaultACLInfo *daclinfo)
99449944
switch (daclinfo->defaclobjtype)
99459945
{
99469946
case DEFACLOBJ_RELATION:
9947-
type = "TABLE";
9947+
type = "TABLES";
99489948
break;
99499949
case DEFACLOBJ_SEQUENCE:
9950-
type = "SEQUENCE";
9950+
type = "SEQUENCES";
99519951
break;
99529952
case DEFACLOBJ_FUNCTION:
9953-
type = "FUNCTION";
9953+
type = "FUNCTIONS";
99549954
break;
99559955
default:
99569956
/* shouldn't get here */
@@ -9960,7 +9960,7 @@ dumpDefaultACL(Archive *fout, DefaultACLInfo *daclinfo)
99609960
type = ""; /* keep compiler quiet */
99619961
}
99629962

9963-
appendPQExpBuffer(tag, "DEFAULT %s PRIVILEGES", type);
9963+
appendPQExpBuffer(tag, "DEFAULT PRIVILEGES FOR %s", type);
99649964

99659965
/* build the actual command(s) for this tuple */
99669966
if (!buildDefaultACLCommands(type,

src/test/regress/expected/privileges.out

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
853853
f
854854
(1 row)
855855

856-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT SELECT ON TABLE TO public;
856+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT SELECT ON TABLES TO public;
857857
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- no
858858
has_table_privilege
859859
---------------------
@@ -880,7 +880,7 @@ SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
880880
f
881881
(1 row)
882882

883-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT INSERT ON TABLE TO regressuser1;
883+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT INSERT ON TABLES TO regressuser1;
884884
DROP TABLE testns.acltest1;
885885
CREATE TABLE testns.acltest1 (x int);
886886
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- yes
@@ -895,7 +895,7 @@ SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- yes
895895
t
896896
(1 row)
897897

898-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns REVOKE INSERT ON TABLE FROM regressuser1;
898+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns REVOKE INSERT ON TABLES FROM regressuser1;
899899
DROP TABLE testns.acltest1;
900900
CREATE TABLE testns.acltest1 (x int);
901901
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- yes
@@ -910,7 +910,7 @@ SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
910910
f
911911
(1 row)
912912

913-
ALTER DEFAULT PRIVILEGES FOR ROLE regressuser1 REVOKE EXECUTE ON FUNCTION FROM public;
913+
ALTER DEFAULT PRIVILEGES FOR ROLE regressuser1 REVOKE EXECUTE ON FUNCTIONS FROM public;
914914
SET ROLE regressuser1;
915915
CREATE FUNCTION testns.foo() RETURNS int AS 'select 1' LANGUAGE sql;
916916
SELECT has_function_privilege('regressuser2', 'testns.foo()', 'EXECUTE'); -- no
@@ -919,7 +919,7 @@ SELECT has_function_privilege('regressuser2', 'testns.foo()', 'EXECUTE'); -- no
919919
f
920920
(1 row)
921921

922-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT EXECUTE ON FUNCTION to public;
922+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT EXECUTE ON FUNCTIONS to public;
923923
DROP FUNCTION testns.foo();
924924
CREATE FUNCTION testns.foo() RETURNS int AS 'select 1' LANGUAGE sql;
925925
SELECT has_function_privilege('regressuser2', 'testns.foo()', 'EXECUTE'); -- yes

src/test/regress/sql/privileges.sql

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ CREATE TABLE testns.acltest1 (x int);
495495
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- no
496496
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
497497

498-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT SELECT ON TABLE TO public;
498+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT SELECT ON TABLES TO public;
499499

500500
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- no
501501
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
@@ -506,31 +506,31 @@ CREATE TABLE testns.acltest1 (x int);
506506
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- yes
507507
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
508508

509-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT INSERT ON TABLE TO regressuser1;
509+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT INSERT ON TABLES TO regressuser1;
510510

511511
DROP TABLE testns.acltest1;
512512
CREATE TABLE testns.acltest1 (x int);
513513

514514
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- yes
515515
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- yes
516516

517-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns REVOKE INSERT ON TABLE FROM regressuser1;
517+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns REVOKE INSERT ON TABLES FROM regressuser1;
518518

519519
DROP TABLE testns.acltest1;
520520
CREATE TABLE testns.acltest1 (x int);
521521

522522
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'SELECT'); -- yes
523523
SELECT has_table_privilege('regressuser1', 'testns.acltest1', 'INSERT'); -- no
524524

525-
ALTER DEFAULT PRIVILEGES FOR ROLE regressuser1 REVOKE EXECUTE ON FUNCTION FROM public;
525+
ALTER DEFAULT PRIVILEGES FOR ROLE regressuser1 REVOKE EXECUTE ON FUNCTIONS FROM public;
526526

527527
SET ROLE regressuser1;
528528

529529
CREATE FUNCTION testns.foo() RETURNS int AS 'select 1' LANGUAGE sql;
530530

531531
SELECT has_function_privilege('regressuser2', 'testns.foo()', 'EXECUTE'); -- no
532532

533-
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT EXECUTE ON FUNCTION to public;
533+
ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT EXECUTE ON FUNCTIONS to public;
534534

535535
DROP FUNCTION testns.foo();
536536
CREATE FUNCTION testns.foo() RETURNS int AS 'select 1' LANGUAGE sql;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy