diff options
| author | Peter Eisentraut | 2001-06-09 23:21:55 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2001-06-09 23:21:55 +0000 |
| commit | 7ceed2a9b5f19c59a2797c5aa31d801c32cb0cc4 (patch) | |
| tree | c7d02530d61fd36d5b2677293fdecba6738cc8e9 /src/test | |
| parent | 202548d6cc276e1f2a60b3d7d3d17392b5d9795e (diff) | |
Allow GRANT/REVOKE to/from more than one user per invocation. Command tag
for GRANT/REVOKE is now just that, not "CHANGE".
On the way, migrate some of the aclitem internal representation away from
the parser and build a real parse tree instead. Also add some 'const'
qualifiers.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/privileges.out | 14 | ||||
| -rw-r--r-- | src/test/regress/sql/privileges.sql | 6 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out index cb376e0bbc8..ea19667a169 100644 --- a/src/test/regress/expected/privileges.out +++ b/src/test/regress/expected/privileges.out @@ -39,7 +39,7 @@ SELECT * FROM atest1; (0 rows) GRANT ALL ON atest1 TO regressuser2; -GRANT SELECT ON atest1 TO regressuser3; +GRANT SELECT ON atest1 TO regressuser3, regressuser4; SELECT * FROM atest1; a | b ---+--- @@ -90,7 +90,7 @@ ERROR: LOCK TABLE: permission denied COPY atest2 FROM stdin; -- fail ERROR: atest2: Permission denied. GRANT ALL ON atest1 TO PUBLIC; -- fail -ERROR: you do not own class "atest1" +ERROR: permission denied -- checks in subquery, both ok SELECT * FROM atest1 WHERE ( b IN ( SELECT col1 FROM atest2 ) ); a | b @@ -146,6 +146,13 @@ SELECT * FROM atest2 WHERE ( col1 IN ( SELECT b FROM atest1 ) ); ERROR: atest2: Permission denied. SET SESSION AUTHORIZATION regressuser4; COPY atest2 FROM stdin; -- ok +SELECT * FROM atest1; -- ok + a | b +---+----- + 1 | two + 1 | two +(2 rows) + -- groups SET SESSION AUTHORIZATION regressuser3; CREATE TABLE atest3 (one int, two int, three int); @@ -167,8 +174,7 @@ SELECT * FROM atestv1; -- ok 1 | two (2 rows) -GRANT SELECT ON atestv1 TO regressuser4; -GRANT SELECT ON atestv3 TO regressuser4; +GRANT SELECT ON atestv1, atestv3 TO regressuser4; SET SESSION AUTHORIZATION regressuser4; SELECT * FROM atestv1; -- ok a | b diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index 1558273f7b2..2a096660834 100644 --- a/src/test/regress/sql/privileges.sql +++ b/src/test/regress/sql/privileges.sql @@ -34,7 +34,7 @@ REVOKE ALL ON atest1 FROM PUBLIC; SELECT * FROM atest1; GRANT ALL ON atest1 TO regressuser2; -GRANT SELECT ON atest1 TO regressuser3; +GRANT SELECT ON atest1 TO regressuser3, regressuser4; SELECT * FROM atest1; CREATE TABLE atest2 (col1 varchar(10), col2 boolean); @@ -93,6 +93,7 @@ SET SESSION AUTHORIZATION regressuser4; COPY atest2 FROM stdin; -- ok bar true \. +SELECT * FROM atest1; -- ok -- groups @@ -117,8 +118,7 @@ CREATE VIEW atestv2 AS SELECT * FROM atest2; CREATE VIEW atestv3 AS SELECT * FROM atest3; -- ok SELECT * FROM atestv1; -- ok -GRANT SELECT ON atestv1 TO regressuser4; -GRANT SELECT ON atestv3 TO regressuser4; +GRANT SELECT ON atestv1, atestv3 TO regressuser4; SET SESSION AUTHORIZATION regressuser4; |
