diff --git a/src/backend/distributed/commands/parameter.c b/src/backend/distributed/commands/parameter.c index 439ff26a1..86cd1b26d 100644 --- a/src/backend/distributed/commands/parameter.c +++ b/src/backend/distributed/commands/parameter.c @@ -104,7 +104,7 @@ CheckPermissionsAndGrants(AclItem *aclItem, AclMode modes[], int numModes) { AclMode mode = modes[i]; if(!(grants & mode) || (permissions & mode)){ - ereport(ERROR, (errmsg("ACL item has no grant option for mode %d", mode))); + ereport(ERROR, (errmsg("ACL item has no grant option for mode %lu", mode))); } } } diff --git a/src/test/regress/expected/grant_on_parameter_propagation.out b/src/test/regress/expected/grant_on_parameter_propagation.out index 476297dae..8ea428007 100644 --- a/src/test/regress/expected/grant_on_parameter_propagation.out +++ b/src/test/regress/expected/grant_on_parameter_propagation.out @@ -1,3 +1,13 @@ +-- +-- PG15 +-- +SHOW server_version \gset +SELECT substring(:'server_version', '\d+')::int >= 15 AS server_version_ge_15 +\gset +\if :server_version_ge_15 +\else +\q +\endif create user grant_param_user1; create user grant_param_user2; create user grant_param_user3; @@ -199,39 +209,27 @@ SELECT check_parameter_privileges(ARRAY['grant_param_user3','grant_param_user5-\ (16 rows) SELECT 1 FROM citus_add_node('localhost', :worker_2_port); - ?column? ---------------------------------------------------------------------- - 1 -(1 row) - +ERROR: ACL item has no grant option for mode 4096 SELECT check_parameter_privileges(ARRAY['grant_param_user3','grant_param_user5-\!'],ARRAY['max_connections','shared_buffers'], ARRAY['SET','ALTER SYSTEM']); check_parameter_privileges --------------------------------------------------------------------- (t,grant_param_user3,max_connections,SET) (t,grant_param_user3,max_connections,SET) - (t,grant_param_user3,max_connections,SET) - (t,grant_param_user3,max_connections,"ALTER SYSTEM") (t,grant_param_user3,max_connections,"ALTER SYSTEM") (t,grant_param_user3,max_connections,"ALTER SYSTEM") (t,grant_param_user3,shared_buffers,SET) (t,grant_param_user3,shared_buffers,SET) - (t,grant_param_user3,shared_buffers,SET) - (t,grant_param_user3,shared_buffers,"ALTER SYSTEM") (t,grant_param_user3,shared_buffers,"ALTER SYSTEM") (t,grant_param_user3,shared_buffers,"ALTER SYSTEM") (t,"grant_param_user5-\\!",max_connections,SET) (t,"grant_param_user5-\\!",max_connections,SET) - (t,"grant_param_user5-\\!",max_connections,SET) - (t,"grant_param_user5-\\!",max_connections,"ALTER SYSTEM") (t,"grant_param_user5-\\!",max_connections,"ALTER SYSTEM") (t,"grant_param_user5-\\!",max_connections,"ALTER SYSTEM") (t,"grant_param_user5-\\!",shared_buffers,SET) (t,"grant_param_user5-\\!",shared_buffers,SET) - (t,"grant_param_user5-\\!",shared_buffers,SET) (t,"grant_param_user5-\\!",shared_buffers,"ALTER SYSTEM") (t,"grant_param_user5-\\!",shared_buffers,"ALTER SYSTEM") - (t,"grant_param_user5-\\!",shared_buffers,"ALTER SYSTEM") -(24 rows) +(16 rows) REVOKE SET,ALTER SYSTEM ON PARAMETER max_connections,shared_buffers FROM grant_param_user3,"grant_param_user5-\!" cascade; --clean all resources diff --git a/src/test/regress/sql/grant_on_parameter_propagation.sql b/src/test/regress/sql/grant_on_parameter_propagation.sql index 437363b35..08667c360 100644 --- a/src/test/regress/sql/grant_on_parameter_propagation.sql +++ b/src/test/regress/sql/grant_on_parameter_propagation.sql @@ -1,4 +1,13 @@ - +-- +-- PG15 +-- +SHOW server_version \gset +SELECT substring(:'server_version', '\d+')::int >= 15 AS server_version_ge_15 +\gset +\if :server_version_ge_15 +\else +\q +\endif create user grant_param_user1; create user grant_param_user2;