@@ -6,14 +6,14 @@ CREATE ROLE user2 LOGIN IN ROLE users;
66/* database */
77-- desired permissions
88INSERT INTO permission_target
9- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
10- VALUES (1, 'users', ARRAY['CONNECT','TEMPORARY']::perm_type[], 'DATABASE', NULL, NULL, NULL),
11- (2, 'user1', ARRAY['CONNECT','TEMPORARY']::perm_type[], 'DATABASE', NULL, NULL, NULL),
12- (3, 'user2', ARRAY['CONNECT','TEMPORARY']::perm_type[], 'DATABASE', NULL, NULL, NULL);
9+ (role_name, permissions, object_type, schema_name, object_name, column_name)
10+ VALUES ('users', ARRAY['CONNECT','TEMPORARY']::perm_type[], 'DATABASE', NULL, NULL, NULL),
11+ ('user1', ARRAY['CONNECT','TEMPORARY']::perm_type[], 'DATABASE', NULL, NULL, NULL),
12+ ('user2', ARRAY['CONNECT','TEMPORARY']::perm_type[], 'DATABASE', NULL, NULL, NULL);
1313-- this should fail
1414INSERT INTO permission_target
15- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
16- VALUES (4, 'user2', ARRAY['CREATE']::perm_type[], 'DATABASE', 'public', NULL, NULL);
15+ (role_name, permissions, object_type, schema_name, object_name, column_name)
16+ VALUES ('user2', ARRAY['CREATE']::perm_type[], 'DATABASE', 'public', NULL, NULL);
1717ERROR: new row for relation "permission_target" violates check constraint "permission_target_valid"
1818DETAIL: Failing row contains (4, user2, {CREATE}, DATABASE, public, null, null).
1919-- actual permissions
@@ -23,14 +23,14 @@ GRANT CREATE ON DATABASE contrib_regression TO user2; -- too much
2323/* schema */
2424-- desired permissions
2525INSERT INTO permission_target
26- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
27- VALUES (5, 'users', ARRAY['USAGE']::perm_type[], 'SCHEMA', 'appschema', NULL, NULL),
28- (6, 'user1', ARRAY['USAGE','CREATE']::perm_type[], 'SCHEMA', 'appschema', NULL, NULL),
29- (7, 'user2', ARRAY['USAGE']::perm_type[], 'SCHEMA', 'appschema', NULL, NULL);
26+ (role_name, permissions, object_type, schema_name, object_name, column_name)
27+ VALUES ('users', ARRAY['USAGE']::perm_type[], 'SCHEMA', 'appschema', NULL, NULL),
28+ ('user1', ARRAY['USAGE','CREATE']::perm_type[], 'SCHEMA', 'appschema', NULL, NULL),
29+ ('user2', ARRAY['USAGE']::perm_type[], 'SCHEMA', 'appschema', NULL, NULL);
3030-- this should fail
3131INSERT INTO permission_target
32- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
33- VALUES (8, 'user2', ARRAY['CREATE']::perm_type[], 'SCHEMA', 'appschema', 'sometable', NULL);
32+ (role_name, permissions, object_type, schema_name, object_name, column_name)
33+ VALUES ('user2', ARRAY['CREATE']::perm_type[], 'SCHEMA', 'appschema', 'sometable', NULL);
3434ERROR: new row for relation "permission_target" violates check constraint "permission_target_valid"
3535DETAIL: Failing row contains (8, user2, {CREATE}, SCHEMA, appschema, sometable, null).
3636-- actual permissions
@@ -40,13 +40,13 @@ GRANT CREATE ON SCHEMA appschema TO user2; -- too much
4040/* table */
4141-- desired permissions
4242INSERT INTO permission_target
43- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
44- VALUES (9, 'user1', ARRAY['SELECT','INSERT','UPDATE','DELETE']::perm_type[], 'TABLE', 'appschema', NULL, NULL),
45- (10, 'user2', ARRAY['SELECT']::perm_type[], 'TABLE', 'appschema', NULL, NULL);
43+ (role_name, permissions, object_type, schema_name, object_name, column_name)
44+ VALUES ('user1', ARRAY['SELECT','INSERT','UPDATE','DELETE']::perm_type[], 'TABLE', 'appschema', NULL, NULL),
45+ ('user2', ARRAY['SELECT']::perm_type[], 'TABLE', 'appschema', NULL, NULL);
4646-- this should fail
4747INSERT INTO permission_target
48- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
49- VALUES (11, 'user2', ARRAY['INSERT']::perm_type[], 'TABLE', 'appschema', 'apptable', 'acolumn');
48+ (role_name, permissions, object_type, schema_name, object_name, column_name)
49+ VALUES ('user2', ARRAY['INSERT']::perm_type[], 'TABLE', 'appschema', 'apptable', 'acolumn');
5050ERROR: new row for relation "permission_target" violates check constraint "permission_target_valid"
5151DETAIL: Failing row contains (11, user2, {INSERT}, TABLE, appschema, apptable, acolumn).
5252-- actual permissions
@@ -65,12 +65,12 @@ GRANT SELECT, INSERT ON appschema.apptable TO user2; -- extra privilege INSERT
6565/* column */
6666-- desired permissions
6767INSERT INTO permission_target
68- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
69- VALUES (12, 'user1', ARRAY['SELECT','INSERT','UPDATE','REFERENCES']::perm_type[], 'COLUMN', 'appschema', 'apptable2', 'val');
68+ (role_name, permissions, object_type, schema_name, object_name, column_name)
69+ VALUES ('user1', ARRAY['SELECT','INSERT','UPDATE','REFERENCES']::perm_type[], 'COLUMN', 'appschema', 'apptable2', 'val');
7070-- this should fail
7171INSERT INTO permission_target
72- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
73- VALUES (13, 'user2', ARRAY['DELETE']::perm_type[], 'COLUMN', 'appschema', 'apptable2', 'val');
72+ (role_name, permissions, object_type, schema_name, object_name, column_name)
73+ VALUES ('user2', ARRAY['DELETE']::perm_type[], 'COLUMN', 'appschema', 'apptable2', 'val');
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
@@ -79,9 +79,9 @@ GRANT UPDATE (val) ON appschema.apptable2 TO user2; -- extra privilege UPDATE
7979/* view */
8080-- desired permissions
8181INSERT INTO permission_target
82- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
83- VALUES (14, 'user1', ARRAY['SELECT','INSERT','UPDATE','DELETE']::perm_type[], 'VIEW', 'appschema', 'appview', NULL),
84- (15, 'user2', ARRAY['SELECT']::perm_type[], 'VIEW', 'appschema', 'appview', NULL);
82+ (role_name, permissions, object_type, schema_name, object_name, column_name)
83+ VALUES ('user1', ARRAY['SELECT','INSERT','UPDATE','DELETE']::perm_type[], 'VIEW', 'appschema', 'appview', NULL),
84+ ('user2', ARRAY['SELECT']::perm_type[], 'VIEW', 'appschema', 'appview', NULL);
8585-- actual permissions
8686CREATE VIEW appschema.appview AS
8787SELECT id, val FROM appschema.apptable;
@@ -90,24 +90,24 @@ GRANT INSERT, DELETE ON appschema.appview TO user1; -- missing UPDATE
9090/* sequence */
9191-- desired permissions
9292INSERT INTO permission_target
93- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
94- VALUES (16, 'users', ARRAY['USAGE']::perm_type[], 'SEQUENCE', 'appschema', 'appseq', NULL),
95- (17, 'user1', ARRAY['USAGE','SELECT']::perm_type[], 'SEQUENCE', 'appschema', 'appseq', NULL),
96- (18, 'user2', ARRAY['USAGE']::perm_type[], 'SEQUENCE', 'appschema', 'appseq', NULL);
93+ (role_name, permissions, object_type, schema_name, object_name, column_name)
94+ VALUES ('users', ARRAY['USAGE']::perm_type[], 'SEQUENCE', 'appschema', 'appseq', NULL),
95+ ('user1', ARRAY['USAGE','SELECT']::perm_type[], 'SEQUENCE', 'appschema', 'appseq', NULL),
96+ ('user2', ARRAY['USAGE']::perm_type[], 'SEQUENCE', 'appschema', 'appseq', NULL);
9797-- actual permissions
9898CREATE SEQUENCE appschema.appseq;
9999GRANT USAGE ON SEQUENCE appschema.appseq TO users; -- missing SELECT for user1
100100GRANT UPDATE ON SEQUENCE appschema.appseq TO user2; -- extra permission UPDATE
101101/* function */
102102-- desired permissions
103103INSERT INTO permission_target
104- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
105- VALUES (19, 'user1', ARRAY['EXECUTE']::perm_type[], 'FUNCTION', 'appschema', 'appfun(integer)', NULL),
106- (20, 'user2', ARRAY['EXECUTE']::perm_type[], 'FUNCTION', 'appschema', 'appfun(integer)', NULL);
104+ (role_name, permissions, object_type, schema_name, object_name, column_name)
105+ VALUES ('user1', ARRAY['EXECUTE']::perm_type[], 'FUNCTION', 'appschema', 'appfun(integer)', NULL),
106+ ('user2', ARRAY['EXECUTE']::perm_type[], 'FUNCTION', 'appschema', 'appfun(integer)', NULL);
107107-- this should fail
108108INSERT INTO permission_target
109- (id, role_name, permissions, object_type, schema_name, object_name, column_name)
110- VALUES (21, 'users', ARRAY['UPDATE']::perm_type[], 'FUNCTION', 'appschema', 'appfun(integer)', NULL);
109+ (role_name, permissions, object_type, schema_name, object_name, column_name)
110+ VALUES ('users', ARRAY['UPDATE']::perm_type[], 'FUNCTION', 'appschema', 'appfun(integer)', NULL);
111111ERROR: new row for relation "permission_target" violates check constraint "permission_target_valid"
112112DETAIL: Failing row contains (21, users, {UPDATE}, FUNCTION, appschema, appfun(integer), null).
113113-- actual permissions
0 commit comments