diff options
Diffstat (limited to 'src/test/regress/expected/privileges.out')
| -rw-r--r-- | src/test/regress/expected/privileges.out | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out index 32dd625f9b..21f9fc26fd 100644 --- a/src/test/regress/expected/privileges.out +++ b/src/test/regress/expected/privileges.out @@ -10,14 +10,16 @@ DROP ROLE IF EXISTS regressuser1; DROP ROLE IF EXISTS regressuser2; DROP ROLE IF EXISTS regressuser3; DROP ROLE IF EXISTS regressuser4; +DROP ROLE IF EXISTS regressuser5; RESET client_min_messages; -- test proper begins here CREATE USER regressuser1; CREATE USER regressuser2; CREATE USER regressuser3; CREATE USER regressuser4; -CREATE USER regressuser4; -- duplicate -ERROR: role "regressuser4" already exists +CREATE USER regressuser5; +CREATE USER regressuser5; -- duplicate +ERROR: role "regressuser5" already exists CREATE GROUP regressgroup1; CREATE GROUP regressgroup2 WITH USER regressuser1, regressuser2; ALTER GROUP regressgroup1 ADD USER regressuser4; @@ -42,6 +44,7 @@ SELECT * FROM atest1; INSERT INTO atest1 VALUES (1, 'one'); DELETE FROM atest1; UPDATE atest1 SET a = 1 WHERE b = 'blech'; +TRUNCATE atest1; LOCK atest1 IN ACCESS EXCLUSIVE MODE; REVOKE ALL ON atest1 FROM PUBLIC; SELECT * FROM atest1; @@ -60,6 +63,7 @@ CREATE TABLE atest2 (col1 varchar(10), col2 boolean); GRANT SELECT ON atest2 TO regressuser2; GRANT UPDATE ON atest2 TO regressuser3; GRANT INSERT ON atest2 TO regressuser4; +GRANT TRUNCATE ON atest2 TO regressuser5; SET SESSION AUTHORIZATION regressuser2; SELECT session_user, current_user; session_user | current_user @@ -96,6 +100,8 @@ SELECT * FROM atest2 FOR UPDATE; -- fail ERROR: permission denied for relation atest2 DELETE FROM atest2; -- fail ERROR: permission denied for relation atest2 +TRUNCATE atest2; -- fail +ERROR: permission denied for relation atest2 LOCK atest2 IN ACCESS EXCLUSIVE MODE; -- fail ERROR: permission denied for relation atest2 COPY atest2 FROM stdin; -- fail @@ -147,6 +153,8 @@ SELECT * FROM atest2 FOR UPDATE; -- fail ERROR: permission denied for relation atest2 DELETE FROM atest2; -- fail ERROR: permission denied for relation atest2 +TRUNCATE atest2; -- fail +ERROR: permission denied for relation atest2 LOCK atest2 IN ACCESS EXCLUSIVE MODE; -- ok COPY atest2 FROM stdin; -- fail ERROR: permission denied for relation atest2 @@ -285,6 +293,11 @@ ERROR: must be owner of function testfunc1 DROP FUNCTION testfunc1(int); -- ok -- restore to sanity GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC; +-- truncate +SET SESSION AUTHORIZATION regressuser5; +TRUNCATE atest2; -- ok +TRUNCATE atest3; -- fail +ERROR: permission denied for relation atest3 -- has_table_privilege function -- bad-input checks select has_table_privilege(NULL,'pg_authid','select'); @@ -375,6 +388,12 @@ select has_table_privilege('pg_authid','delete'); t (1 row) +select has_table_privilege('pg_authid','truncate'); + has_table_privilege +--------------------- + t +(1 row) + select has_table_privilege(t1.oid,'select') from (select oid from pg_class where relname = 'pg_authid') as t1; has_table_privilege @@ -452,6 +471,12 @@ select has_table_privilege('pg_class','delete'); f (1 row) +select has_table_privilege('pg_class','truncate'); + has_table_privilege +--------------------- + f +(1 row) + select has_table_privilege(t1.oid,'select') from (select oid from pg_class where relname = 'pg_class') as t1; has_table_privilege @@ -527,6 +552,12 @@ select has_table_privilege('atest1','delete'); f (1 row) +select has_table_privilege('atest1','truncate'); + has_table_privilege +--------------------- + f +(1 row) + select has_table_privilege(t1.oid,'select') from (select oid from pg_class where relname = 'atest1') as t1; has_table_privilege @@ -604,3 +635,4 @@ DROP USER regressuser1; DROP USER regressuser2; DROP USER regressuser3; DROP USER regressuser4; +DROP USER regressuser5; |
