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 */