@@ -74,7 +74,7 @@ VALUES (13, 'user2', ARRAY['DELETE']::perm_type[], 'COLUMN', 'appschema', 'appta
7474ERROR: new row for relation "permission_target" violates check constraint "permission_target_valid"
7575DETAIL: Failing row contains (13, user2, {DELETE}, COLUMN, appschema, apptable2, val).
7676-- actual permissions
77- GRANT REFERENCES (val) ON appschema.apptable2 TO user1; -- missing SELECT, INSERT, UPDATE
77+ -- missing REFERENCES for user1 on apptable2.val
7878GRANT UPDATE (val) ON appschema.apptable2 TO user2; -- extra privilege UPDATE
7979/* view */
8080-- desired permissions
@@ -133,31 +133,7 @@ ORDER BY object_type, role_name, schema_name, object_name, column_name, permissi
133133 VIEW | user1 | appschema | appview | | DELETE
134134 VIEW | user2 | appschema | appview | | SELECT
135135 VIEW | users | appschema | appview | | SELECT
136- COLUMN | user1 | appschema | apptable | created | SELECT
137- COLUMN | user1 | appschema | apptable | created | INSERT
138- COLUMN | user1 | appschema | apptable | created | UPDATE
139- COLUMN | user1 | appschema | apptable | id | SELECT
140- COLUMN | user1 | appschema | apptable | id | INSERT
141- COLUMN | user1 | appschema | apptable | id | UPDATE
142- COLUMN | user1 | appschema | apptable | val | SELECT
143- COLUMN | user1 | appschema | apptable | val | INSERT
144- COLUMN | user1 | appschema | apptable | val | UPDATE
145- COLUMN | user1 | appschema | apptable2 | val | REFERENCES
146- COLUMN | user1 | appschema | appview | id | SELECT
147- COLUMN | user1 | appschema | appview | id | INSERT
148- COLUMN | user1 | appschema | appview | val | SELECT
149- COLUMN | user1 | appschema | appview | val | INSERT
150- COLUMN | user2 | appschema | apptable | created | SELECT
151- COLUMN | user2 | appschema | apptable | created | INSERT
152- COLUMN | user2 | appschema | apptable | id | SELECT
153- COLUMN | user2 | appschema | apptable | id | INSERT
154- COLUMN | user2 | appschema | apptable | val | SELECT
155- COLUMN | user2 | appschema | apptable | val | INSERT
156136 COLUMN | user2 | appschema | apptable2 | val | UPDATE
157- COLUMN | user2 | appschema | appview | id | SELECT
158- COLUMN | user2 | appschema | appview | val | SELECT
159- COLUMN | users | appschema | appview | id | SELECT
160- COLUMN | users | appschema | appview | val | SELECT
161137 SEQUENCE | user1 | appschema | appseq | | USAGE
162138 SEQUENCE | user2 | appschema | appseq | | UPDATE
163139 SEQUENCE | user2 | appschema | appseq | | USAGE
@@ -176,7 +152,7 @@ ORDER BY object_type, role_name, schema_name, object_name, column_name, permissi
176152 DATABASE | user2 | | | | TEMPORARY
177153 DATABASE | users | | | | CONNECT
178154 DATABASE | users | | | | TEMPORARY
179- (53 rows)
155+ (29 rows)
180156
181157/* report differences */
182158SELECT * FROM permission_diffs()
@@ -196,14 +172,15 @@ ORDER BY object_type, schema_name, object_name, column_name, role_name, permissi
196172 t | user1 | COLUMN | appschema | apptable2 | val | SELECT
197173 t | user1 | COLUMN | appschema | apptable2 | val | INSERT
198174 t | user1 | COLUMN | appschema | apptable2 | val | UPDATE
175+ t | user1 | COLUMN | appschema | apptable2 | val | REFERENCES
199176 f | user2 | COLUMN | appschema | apptable2 | val | UPDATE
200177 t | user1 | SEQUENCE | appschema | appseq | | SELECT
201178 f | user2 | SEQUENCE | appschema | appseq | | UPDATE
202179 f | users | FUNCTION | appschema | appfun(integer) | | EXECUTE
203180 t | user1 | SCHEMA | appschema | | | CREATE
204181 f | user2 | SCHEMA | appschema | | | CREATE
205182 f | user2 | DATABASE | | | | CREATE
206- (19 rows)
183+ (20 rows)
207184
208185/* clean up */
209186DROP FUNCTION appschema.appfun(integer);
0 commit comments