PostgreSQL Source Code
git master
aclchk_internal.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* aclchk_internal.h
4
*
5
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
6
* Portions Copyright (c) 1994, Regents of the University of California
7
*
8
* src/include/utils/aclchk_internal.h
9
*
10
*-------------------------------------------------------------------------
11
*/
12
#ifndef ACLCHK_INTERNAL_H
13
#define ACLCHK_INTERNAL_H
14
15
#include "
nodes/parsenodes.h
"
16
#include "
nodes/pg_list.h
"
17
18
/*
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!)
25
*
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 OBJECT_TABLE.
30
*/
31
typedef
struct
32
{
33
bool
is_grant
;
34
ObjectType
objtype
;
35
List
*
objects
;
36
bool
all_privs
;
37
AclMode
privileges
;
38
List
*
col_privs
;
39
List
*
grantees
;
40
bool
grant_option
;
41
DropBehavior
behavior
;
42
}
InternalGrant
;
43
44
45
#endif
/* ACLCHK_INTERNAL_H */
parsenodes.h
AclMode
uint64 AclMode
Definition:
parsenodes.h:74
DropBehavior
DropBehavior
Definition:
parsenodes.h:2340
ObjectType
ObjectType
Definition:
parsenodes.h:2267
pg_list.h
InternalGrant
Definition:
aclchk_internal.h:32
InternalGrant::behavior
DropBehavior behavior
Definition:
aclchk_internal.h:41
InternalGrant::grantees
List * grantees
Definition:
aclchk_internal.h:39
InternalGrant::objects
List * objects
Definition:
aclchk_internal.h:35
InternalGrant::privileges
AclMode privileges
Definition:
aclchk_internal.h:37
InternalGrant::grant_option
bool grant_option
Definition:
aclchk_internal.h:40
InternalGrant::is_grant
bool is_grant
Definition:
aclchk_internal.h:33
InternalGrant::objtype
ObjectType objtype
Definition:
aclchk_internal.h:34
InternalGrant::all_privs
bool all_privs
Definition:
aclchk_internal.h:36
InternalGrant::col_privs
List * col_privs
Definition:
aclchk_internal.h:38
List
Definition:
pg_list.h:54
src
include
utils
aclchk_internal.h
Generated on Thu Dec 12 2024 12:13:25 for PostgreSQL Source Code by
1.9.1