diff options
Diffstat (limited to 'src/include/utils/acl.h')
-rw-r--r-- | src/include/utils/acl.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/include/utils/acl.h b/src/include/utils/acl.h index ed0d4ec703..3849cf2e85 100644 --- a/src/include/utils/acl.h +++ b/src/include/utils/acl.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: acl.h,v 1.57 2003/07/21 01:59:11 tgl Exp $ + * $Id: acl.h,v 1.58 2003/08/01 00:15:25 tgl Exp $ * * NOTES * For backward-compatibility purposes we have to allow there @@ -176,6 +176,22 @@ typedef enum ACLCHECK_NOT_OWNER } AclResult; +/* this enum covers all object types that can have privilege errors */ +/* currently it's only used to tell aclcheck_error what to say */ +typedef enum AclObjectKind +{ + ACL_KIND_CLASS, /* pg_class */ + ACL_KIND_DATABASE, /* pg_database */ + ACL_KIND_PROC, /* pg_proc */ + ACL_KIND_OPER, /* pg_operator */ + ACL_KIND_TYPE, /* pg_type */ + ACL_KIND_LANGUAGE, /* pg_language */ + ACL_KIND_NAMESPACE, /* pg_namespace */ + ACL_KIND_OPCLASS, /* pg_opclass */ + ACL_KIND_CONVERSION, /* pg_conversion */ + MAX_ACL_KIND /* MUST BE LAST */ +} AclObjectKind; + /* * routines used internally */ @@ -207,7 +223,8 @@ extern AclResult pg_proc_aclcheck(Oid proc_oid, AclId userid, AclMode mode); extern AclResult pg_language_aclcheck(Oid lang_oid, AclId userid, AclMode mode); extern AclResult pg_namespace_aclcheck(Oid nsp_oid, AclId userid, AclMode mode); -extern void aclcheck_error(AclResult aclerr, const char *objectname); +extern void aclcheck_error(AclResult aclerr, AclObjectKind objectkind, + const char *objectname); /* ownercheck routines just return true (owner) or false (not) */ extern bool pg_class_ownercheck(Oid class_oid, AclId userid); |