⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guc_tables.h

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 H
字号:
/*------------------------------------------------------------------------- * * guc_tables.h *		Declarations of tables used by GUC. * * See src/backend/utils/misc/README for design notes. * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * *	  $PostgreSQL: pgsql/src/include/utils/guc_tables.h,v 1.20.2.1 2006/02/12 22:32:57 tgl Exp $ * *------------------------------------------------------------------------- */#ifndef GUC_TABLES_H#define GUC_TABLES_H 1/* * GUC supports these types of variables: */enum config_type{	PGC_BOOL,	PGC_INT,	PGC_REAL,	PGC_STRING};union config_var_value{	bool		boolval;	int			intval;	double		realval;	char	   *stringval;};/* * Groupings to help organize all the run-time options for display */enum config_group{	UNGROUPED,	FILE_LOCATIONS,	CONN_AUTH,	CONN_AUTH_SETTINGS,	CONN_AUTH_SECURITY,	RESOURCES,	RESOURCES_MEM,	RESOURCES_FSM,	RESOURCES_KERNEL,	WAL,	WAL_SETTINGS,	WAL_CHECKPOINTS,	QUERY_TUNING,	QUERY_TUNING_METHOD,	QUERY_TUNING_COST,	QUERY_TUNING_GEQO,	QUERY_TUNING_OTHER,	LOGGING,	LOGGING_WHERE,	LOGGING_WHEN,	LOGGING_WHAT,	STATS,	STATS_MONITORING,	STATS_COLLECTOR,	AUTOVACUUM,	CLIENT_CONN,	CLIENT_CONN_STATEMENT,	CLIENT_CONN_LOCALE,	CLIENT_CONN_OTHER,	LOCK_MANAGEMENT,	COMPAT_OPTIONS,	COMPAT_OPTIONS_PREVIOUS,	COMPAT_OPTIONS_CLIENT,	PRESET_OPTIONS,	CUSTOM_OPTIONS,	DEVELOPER_OPTIONS};/* * Stack entry for saving the state of a variable prior to the current * transaction */typedef struct guc_stack{	struct guc_stack *prev;		/* previous stack item, if any */	int			nest_level;		/* nesting depth of cur transaction */	int			status;			/* previous status bits, see below */	GucSource	tentative_source;		/* source of the tentative_value */	GucSource	source;			/* source of the actual value */	union config_var_value tentative_val;		/* previous tentative val */	union config_var_value value;		/* previous actual value */} GucStack;/* * Generic fields applicable to all types of variables * * The short description should be less than 80 chars in length. Some * applications may use the long description as well, and will append * it to the short description. (separated by a newline or '. ') */struct config_generic{	/* constant fields, must be set correctly in initial value: */	const char *name;			/* name of variable - MUST BE FIRST */	GucContext	context;		/* context required to set the variable */	enum config_group group;	/* to help organize variables by function */	const char *short_desc;		/* short desc. of this variable's purpose */	const char *long_desc;		/* long desc. of this variable's purpose */	int			flags;			/* flag bits, see below */	/* variable fields, initialized at runtime: */	enum config_type vartype;	/* type of variable (set only at startup) */	int			status;			/* status bits, see below */	GucSource	reset_source;	/* source of the reset_value */	GucSource	tentative_source;		/* source of the tentative_value */	GucSource	source;			/* source of the current actual value */	GucStack   *stack;			/* stacked outside-of-transaction states */};/* bit values in flags field */#define GUC_LIST_INPUT			0x0001	/* input can be list format */#define GUC_LIST_QUOTE			0x0002	/* double-quote list elements */#define GUC_NO_SHOW_ALL			0x0004	/* exclude from SHOW ALL */#define GUC_NO_RESET_ALL		0x0008	/* exclude from RESET ALL */#define GUC_REPORT				0x0010	/* auto-report changes to client */#define GUC_NOT_IN_SAMPLE		0x0020	/* not in postgresql.conf.sample */#define GUC_DISALLOW_IN_FILE	0x0040	/* can't set in postgresql.conf */#define GUC_CUSTOM_PLACEHOLDER	0x0080	/* placeholder for custom variable */#define GUC_SUPERUSER_ONLY		0x0100	/* show only to superusers */#define GUC_IS_NAME				0x0200	/* limit string to NAMEDATALEN-1 *//* bit values in status field */#define GUC_HAVE_TENTATIVE	0x0001		/* tentative value is defined */#define GUC_HAVE_LOCAL		0x0002		/* a SET LOCAL has been executed */#define GUC_HAVE_STACK		0x0004		/* we have stacked prior value(s) *//* GUC records for specific variable types */struct config_bool{	struct config_generic gen;	/* these fields must be set correctly in initial value: */	/* (all but reset_val are constants) */	bool	   *variable;	bool		reset_val;	GucBoolAssignHook assign_hook;	GucShowHook show_hook;	/* variable fields, initialized at runtime: */	bool		tentative_val;};struct config_int{	struct config_generic gen;	/* these fields must be set correctly in initial value: */	/* (all but reset_val are constants) */	int		   *variable;	int			reset_val;	int			min;	int			max;	GucIntAssignHook assign_hook;	GucShowHook show_hook;	/* variable fields, initialized at runtime: */	int			tentative_val;};struct config_real{	struct config_generic gen;	/* these fields must be set correctly in initial value: */	/* (all but reset_val are constants) */	double	   *variable;	double		reset_val;	double		min;	double		max;	GucRealAssignHook assign_hook;	GucShowHook show_hook;	/* variable fields, initialized at runtime: */	double		tentative_val;};struct config_string{	struct config_generic gen;	/* these fields must be set correctly in initial value: */	/* (all are constants) */	char	  **variable;	const char *boot_val;	GucStringAssignHook assign_hook;	GucShowHook show_hook;	/* variable fields, initialized at runtime: */	char	   *reset_val;	char	   *tentative_val;};/* constant tables corresponding to enums above and in guc.h */extern const char *const config_group_names[];extern const char *const config_type_names[];extern const char *const GucContext_Names[];extern const char *const GucSource_Names[];/* get the current set of variables */extern struct config_generic **get_guc_variables(void);extern void build_guc_variables(void);#endif   /* GUC_TABLES_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -