PostgreSQL Source Code  git master
pg_auth_members.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_auth_members.h
4  * definition of the "authorization identifier members" system catalog
5  * (pg_auth_members).
6  *
7  *
8  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
9  * Portions Copyright (c) 1994, Regents of the University of California
10  *
11  * src/include/catalog/pg_auth_members.h
12  *
13  * NOTES
14  * The Catalog.pm module reads this file and derives schema
15  * information.
16  *
17  *-------------------------------------------------------------------------
18  */
19 #ifndef PG_AUTH_MEMBERS_H
20 #define PG_AUTH_MEMBERS_H
21 
22 #include "catalog/genbki.h"
23 #include "catalog/pg_auth_members_d.h"
24 
25 /* ----------------
26  * pg_auth_members definition. cpp turns this into
27  * typedef struct FormData_pg_auth_members
28  * ----------------
29  */
30 CATALOG(pg_auth_members,1261,AuthMemRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2843,AuthMemRelation_Rowtype_Id) BKI_SCHEMA_MACRO
31 {
32  Oid oid; /* oid */
33  Oid roleid BKI_LOOKUP(pg_authid); /* ID of a role */
34  Oid member BKI_LOOKUP(pg_authid); /* ID of a member of that role */
35  Oid grantor BKI_LOOKUP(pg_authid); /* who granted the membership */
36  bool admin_option; /* granted with admin option? */
37  bool inherit_option; /* exercise privileges without SET ROLE? */
38  bool set_option; /* use SET ROLE to the target role? */
40 
41 /* ----------------
42  * Form_pg_auth_members corresponds to a pointer to a tuple with
43  * the format of pg_auth_members relation.
44  * ----------------
45  */
47 
48 DECLARE_UNIQUE_INDEX_PKEY(pg_auth_members_oid_index, 6303, AuthMemOidIndexId, pg_auth_members, btree(oid oid_ops));
49 DECLARE_UNIQUE_INDEX(pg_auth_members_role_member_index, 2694, AuthMemRoleMemIndexId, pg_auth_members, btree(roleid oid_ops, member oid_ops, grantor oid_ops));
50 DECLARE_UNIQUE_INDEX(pg_auth_members_member_role_index, 2695, AuthMemMemRoleIndexId, pg_auth_members, btree(member oid_ops, roleid oid_ops, grantor oid_ops));
51 DECLARE_INDEX(pg_auth_members_grantor_index, 6302, AuthMemGrantorIndexId, pg_auth_members, btree(grantor oid_ops));
52 
53 MAKE_SYSCACHE(AUTHMEMROLEMEM, pg_auth_members_role_member_index, 8);
54 MAKE_SYSCACHE(AUTHMEMMEMROLE, pg_auth_members_member_role_index, 8);
55 
56 #endif /* PG_AUTH_MEMBERS_H */
#define BKI_SHARED_RELATION
Definition: genbki.h:27
#define BKI_ROWTYPE_OID(oid, oidmacro)
Definition: genbki.h:28
DECLARE_INDEX(pg_auth_members_grantor_index, 6302, AuthMemGrantorIndexId, pg_auth_members, btree(grantor oid_ops))
DECLARE_UNIQUE_INDEX(pg_auth_members_role_member_index, 2694, AuthMemRoleMemIndexId, pg_auth_members, btree(roleid oid_ops, member oid_ops, grantor oid_ops))
FormData_pg_auth_members * Form_pg_auth_members
CATALOG(pg_auth_members, 1261, AuthMemRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2843
FormData_pg_auth_members
AuthMemRelation_Rowtype_Id BKI_SCHEMA_MACRO
MAKE_SYSCACHE(AUTHMEMROLEMEM, pg_auth_members_role_member_index, 8)
DECLARE_UNIQUE_INDEX_PKEY(pg_auth_members_oid_index, 6303, AuthMemOidIndexId, pg_auth_members, btree(oid oid_ops))
bool set_option
bool inherit_option
Oid roleid BKI_LOOKUP(pg_authid)
bool admin_option
unsigned int Oid
Definition: postgres_ext.h:31