1 /*-------------------------------------------------------------------------
5 * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
6 * Portions Copyright (c) 1994, Regents of the University of California
8 * src/include/utils/aclchk_internal.h
10 *-------------------------------------------------------------------------
12 #ifndef ACLCHK_INTERNAL_H
13 #define ACLCHK_INTERNAL_H
15 #include "nodes/parsenodes.h"
16 #include "nodes/pg_list.h"
19 * The information about one Grant/Revoke statement, in internal format: object
20 * and grantees names have been turned into Oids, the privilege list is an
21 * AclMode bitmask. If 'privileges' is ACL_NO_RIGHTS (the 0 value) and
22 * all_privs is true, 'privileges' will be internally set to the right kind of
23 * ACL_ALL_RIGHTS_*, depending on the object type (NB - this will modify the
24 * InternalGrant struct!)
26 * Note: 'all_privs' and 'privileges' represent object-level privileges only.
27 * There might also be column-level privilege specifications, which are
28 * represented in col_privs (this is a list of untransformed AccessPriv nodes).
29 * Column privileges are only valid for objtype ACL_OBJECT_RELATION.
34 GrantObjectType objtype;
41 DropBehavior behavior;
45 #endif /* ACLCHK_INTERNAL_H */