diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-10-12 20:39:42 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-10-12 20:39:42 +0000 |
| commit | 11ca04b4b71dd5bebafc97eefe96614873158f87 (patch) | |
| tree | b4d146b1cd2a9e037b2cc6849b7d0ca80d68b792 /src/test/regress/sql/privileges.sql | |
| parent | faa1afc6c16631424579548a6e2fafb130f834f4 (diff) | |
| download | postgresql-11ca04b4b71dd5bebafc97eefe96614873158f87.tar.gz | |
Support GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS IN SCHEMA.
Petr Jelinek
Diffstat (limited to 'src/test/regress/sql/privileges.sql')
| -rw-r--r-- | src/test/regress/sql/privileges.sql | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index eaa879efa2..c5aaffc8d5 100644 --- a/src/test/regress/sql/privileges.sql +++ b/src/test/regress/sql/privileges.sql @@ -5,7 +5,7 @@ -- Clean up in case a prior regression run failed -- Suppress NOTICE messages when users/groups don't exist -SET client_min_messages TO 'error'; +SET client_min_messages TO 'warning'; DROP ROLE IF EXISTS regressgroup1; DROP ROLE IF EXISTS regressgroup2; @@ -551,6 +551,39 @@ SELECT d.* -- check that entries went away FROM pg_default_acl d LEFT JOIN pg_namespace n ON defaclnamespace = n.oid WHERE nspname IS NULL AND defaclnamespace != 0; + +-- Grant on all objects of given type in a schema +\c - + +CREATE SCHEMA testns; +CREATE TABLE testns.t1 (f1 int); +CREATE TABLE testns.t2 (f1 int); + +SELECT has_table_privilege('regressuser1', 'testns.t1', 'SELECT'); -- false + +GRANT ALL ON ALL TABLES IN SCHEMA testns TO regressuser1; + +SELECT has_table_privilege('regressuser1', 'testns.t1', 'SELECT'); -- true +SELECT has_table_privilege('regressuser1', 'testns.t2', 'SELECT'); -- true + +REVOKE ALL ON ALL TABLES IN SCHEMA testns FROM regressuser1; + +SELECT has_table_privilege('regressuser1', 'testns.t1', 'SELECT'); -- false +SELECT has_table_privilege('regressuser1', 'testns.t2', 'SELECT'); -- false + +CREATE FUNCTION testns.testfunc(int) RETURNS int AS 'select 3 * $1;' LANGUAGE sql; + +SELECT has_function_privilege('regressuser1', 'testns.testfunc(int)', 'EXECUTE'); -- true by default + +REVOKE ALL ON ALL FUNCTIONS IN SCHEMA testns FROM PUBLIC; + +SELECT has_function_privilege('regressuser1', 'testns.testfunc(int)', 'EXECUTE'); -- false + +SET client_min_messages TO 'warning'; +DROP SCHEMA testns CASCADE; +RESET client_min_messages; + + -- clean up \c |
