/*-------------------------------------------------------------------------
*
* aclchk_internal . h
*
* Portions Copyright ( c ) 1996 - 2025 , PostgreSQL Global Development Group
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* src / include / utils / aclchk_internal . h
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
#ifndef ACLCHK_INTERNAL_H
#define ACLCHK_INTERNAL_H
#include "nodes/parsenodes.h"
#include "nodes/pg_list.h"
/*
* The information about one Grant / Revoke statement , in internal format : object
* and grantees names have been turned into Oids , the privilege list is an
* AclMode bitmask . If ' privileges ' is ACL_NO_RIGHTS ( the 0 value ) and
* all_privs is true , ' privileges ' will be internally set to the right kind of
* ACL_ALL_RIGHTS_ * , depending on the object type ( NB - this will modify the
* InternalGrant struct ! )
*
* Note : ' all_privs ' and ' privileges ' represent object - level privileges only .
* There might also be column - level privilege specifications , which are
* represented in col_privs ( this is a list of untransformed AccessPriv nodes ) .
* Column privileges are only valid for objtype OBJECT_TABLE .
*/
typedef struct
{
bool is_grant;
ObjectType objtype;
List *objects;
bool all_privs;
AclMode privileges;
List *col_privs;
List *grantees;
bool grant_option;
DropBehavior behavior;
} InternalGrant;
#endif /* ACLCHK_INTERNAL_H */
Messung V0.5 in Prozent C=93 H=94 G=93
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-08-08)
¤
*© Formatika GbR, Deutschland