Header And Logo

PostgreSQL
| The world's most advanced open source database.

pg_db_role_setting.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * pg_db_role_setting.h
00004  *  definition of configuration settings
00005  *
00006  *
00007  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/catalog/pg_db_role_setting.h
00011  *
00012  * NOTES
00013  *      the genbki.pl script reads this file and generates .bki
00014  *      information from the DATA() statements.
00015  *
00016  *      XXX do NOT break up DATA() statements into multiple lines!
00017  *          the scripts are not as smart as you might think...
00018  *
00019  *-------------------------------------------------------------------------
00020  */
00021 #ifndef PG_DB_ROLE_SETTING_H
00022 #define PG_DB_ROLE_SETTING_H
00023 
00024 #include "utils/guc.h"
00025 #include "utils/relcache.h"
00026 
00027 /* ----------------
00028  *      pg_db_role_setting definition.  cpp turns this into
00029  *      typedef struct FormData_pg_db_role_setting
00030  * ----------------
00031  */
00032 #define DbRoleSettingRelationId 2964
00033 
00034 CATALOG(pg_db_role_setting,2964) BKI_SHARED_RELATION BKI_WITHOUT_OIDS
00035 {
00036     Oid         setdatabase;    /* database */
00037     Oid         setrole;        /* role */
00038 
00039 #ifdef CATALOG_VARLEN           /* variable-length fields start here */
00040     text        setconfig[1];   /* GUC settings to apply at login */
00041 #endif
00042 } FormData_pg_db_role_setting;
00043 
00044 typedef FormData_pg_db_role_setting *Form_pg_db_role_setting;
00045 
00046 /* ----------------
00047  *      compiler constants for pg_db_role_setting
00048  * ----------------
00049  */
00050 #define Natts_pg_db_role_setting                3
00051 #define Anum_pg_db_role_setting_setdatabase     1
00052 #define Anum_pg_db_role_setting_setrole         2
00053 #define Anum_pg_db_role_setting_setconfig       3
00054 
00055 /* ----------------
00056  *      initial contents of pg_db_role_setting are NOTHING
00057  * ----------------
00058  */
00059 
00060 /*
00061  * prototypes for functions in pg_db_role_setting.h
00062  */
00063 extern void AlterSetting(Oid databaseid, Oid roleid, VariableSetStmt *setstmt);
00064 extern void DropSetting(Oid databaseid, Oid roleid);
00065 extern void ApplySetting(Oid databaseid, Oid roleid, Relation relsetting,
00066              GucSource source);
00067 
00068 #endif   /* PG_DB_ROLE_SETTING_H */