diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/catalog/pg_auth_members.h | 1 | ||||
| -rw-r--r-- | src/include/utils/acl.h | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/include/catalog/pg_auth_members.h b/src/include/catalog/pg_auth_members.h index 3ee6ae5f6a4..b145fce1ed8 100644 --- a/src/include/catalog/pg_auth_members.h +++ b/src/include/catalog/pg_auth_members.h @@ -35,6 +35,7 @@ CATALOG(pg_auth_members,1261,AuthMemRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_ Oid grantor BKI_LOOKUP(pg_authid); /* who granted the membership */ bool admin_option; /* granted with admin option? */ bool inherit_option; /* exercise privileges without SET ROLE? */ + bool set_option; /* use SET ROLE to the target role? */ } FormData_pg_auth_members; /* ---------------- diff --git a/src/include/utils/acl.h b/src/include/utils/acl.h index 35b3d8dd88b..afbfdccf53c 100644 --- a/src/include/utils/acl.h +++ b/src/include/utils/acl.h @@ -209,11 +209,12 @@ extern AclMode aclmask(const Acl *acl, Oid roleid, Oid ownerId, extern int aclmembers(const Acl *acl, Oid **roleids); extern bool has_privs_of_role(Oid member, Oid role); +extern bool member_can_set_role(Oid member, Oid role); +extern void check_can_set_role(Oid member, Oid role); extern bool is_member_of_role(Oid member, Oid role); extern bool is_member_of_role_nosuper(Oid member, Oid role); extern bool is_admin_of_role(Oid member, Oid role); extern Oid select_best_admin(Oid member, Oid role); -extern void check_is_member_of_role(Oid member, Oid role); extern Oid get_role_oid(const char *rolname, bool missing_ok); extern Oid get_role_oid_or_public(const char *rolname); extern Oid get_rolespec_oid(const RoleSpec *role, bool missing_ok); |
