PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
pg_policy.h
Go to the documentation of this file.
1 /*
2  * pg_policy.h
3  * definition of the system "policy" relation (pg_policy)
4  *
5  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
6  * Portions Copyright (c) 1994, Regents of the University of California
7  *
8  */
9 #ifndef PG_POLICY_H
10 #define PG_POLICY_H
11 
12 #include "catalog/genbki.h"
13 
14 /* ----------------
15  * pg_policy definition. cpp turns this into
16  * typedef struct FormData_pg_policy
17  * ----------------
18  */
19 #define PolicyRelationId 3256
20 
21 CATALOG(pg_policy,3256)
22 {
23  NameData polname; /* Policy name. */
24  Oid polrelid; /* Oid of the relation with policy. */
25  char polcmd; /* One of ACL_*_CHR, or '*' for all */
26  bool polpermissive; /* restrictive or permissive policy */
27 
28 #ifdef CATALOG_VARLEN
29  Oid polroles[1]; /* Roles associated with policy, not-NULL */
30  pg_node_tree polqual; /* Policy quals. */
31  pg_node_tree polwithcheck; /* WITH CHECK quals. */
32 #endif
34 
35 /* ----------------
36  * Form_pg_policy corresponds to a pointer to a row with
37  * the format of pg_policy relation.
38  * ----------------
39  */
41 
42 /* ----------------
43  * compiler constants for pg_policy
44  * ----------------
45  */
46 #define Natts_pg_policy 7
47 #define Anum_pg_policy_polname 1
48 #define Anum_pg_policy_polrelid 2
49 #define Anum_pg_policy_polcmd 3
50 #define Anum_pg_policy_polpermissive 4
51 #define Anum_pg_policy_polroles 5
52 #define Anum_pg_policy_polqual 6
53 #define Anum_pg_policy_polwithcheck 7
54 
55 #endif /* PG_POLICY_H */
FormData_pg_policy
Definition: pg_policy.h:33
unsigned int Oid
Definition: postgres_ext.h:31
Definition: c.h:489
FormData_pg_policy * Form_pg_policy
Definition: pg_policy.h:40
CATALOG(pg_policy, 3256)
Definition: pg_policy.h:21