From b207f4a2560a19435598d442a0ca3f5e43aba532 Mon Sep 17 00:00:00 2001 From: Masahiko Sawada Date: Wed, 21 Sep 2022 21:07:20 +0900 Subject: [PATCH v5 2/2] Reorganize GUC_XXX flag values. Previously, we defined GUC flags for units for memory and time followed by flags for properties. This change makes more room for properties by inverting the order. --- src/include/utils/guc.h | 56 ++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h index a846500bc5..8daeb877ad 100644 --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -204,41 +204,39 @@ typedef enum /* * bit values in "flags" of a GUC variable */ -#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 */ -#define GUC_NOT_WHILE_SEC_REST 0x0400 /* can't set if security restricted */ -#define GUC_DISALLOW_IN_AUTO_FILE 0x0800 /* can't set in +#define GUC_UNIT_KB 0x000001 /* value is in kilobytes */ +#define GUC_UNIT_BLOCKS 0x000002 /* value is in blocks */ +#define GUC_UNIT_XBLOCKS 0x000003 /* value is in xlog blocks */ +#define GUC_UNIT_MB 0x000004 /* value is in megabytes */ +#define GUC_UNIT_BYTE 0x000005 /* value is in bytes */ +#define GUC_UNIT_MEMORY 0x00000F /* mask for size-related units */ + +#define GUC_UNIT_MS 0x000010 /* value is in milliseconds */ +#define GUC_UNIT_S 0x000020 /* value is in seconds */ +#define GUC_UNIT_MIN 0x000030 /* value is in minutes */ +#define GUC_UNIT_TIME 0x0000F0 /* mask for time-related units */ + +#define GUC_LIST_INPUT 0x000100 /* input can be list format */ +#define GUC_LIST_QUOTE 0x000200 /* double-quote list elements */ +#define GUC_NO_SHOW_ALL 0x000400 /* exclude from SHOW ALL */ +#define GUC_NO_RESET 0x000800 /* not support RESET and save */ +#define GUC_NO_RESET_ALL 0x001000 /* exclude from RESET ALL */ +#define GUC_REPORT 0x002000 /* auto-report changes to client */ +#define GUC_NOT_IN_SAMPLE 0x004000 /* not in postgresql.conf.sample */ +#define GUC_DISALLOW_IN_FILE 0x008000 /* can't set in postgresql.conf */ +#define GUC_CUSTOM_PLACEHOLDER 0x010000 /* placeholder for custom variable */ +#define GUC_SUPERUSER_ONLY 0x020000 /* show only to superusers */ +#define GUC_IS_NAME 0x040000 /* limit string to NAMEDATALEN-1 */ +#define GUC_NOT_WHILE_SEC_REST 0x080000 /* can't set if security restricted */ +#define GUC_DISALLOW_IN_AUTO_FILE 0x100000 /* can't set in * PG_AUTOCONF_FILENAME */ - -#define GUC_UNIT_KB 0x1000 /* value is in kilobytes */ -#define GUC_UNIT_BLOCKS 0x2000 /* value is in blocks */ -#define GUC_UNIT_XBLOCKS 0x3000 /* value is in xlog blocks */ -#define GUC_UNIT_MB 0x4000 /* value is in megabytes */ -#define GUC_UNIT_BYTE 0x5000 /* value is in bytes */ -#define GUC_UNIT_MEMORY 0xF000 /* mask for size-related units */ - -#define GUC_UNIT_MS 0x10000 /* value is in milliseconds */ -#define GUC_UNIT_S 0x20000 /* value is in seconds */ -#define GUC_UNIT_MIN 0x30000 /* value is in minutes */ -#define GUC_UNIT_TIME 0xF0000 /* mask for time-related units */ - -#define GUC_EXPLAIN 0x100000 /* include in explain */ +#define GUC_EXPLAIN 0x200000 /* include in explain */ /* * GUC_RUNTIME_COMPUTED is intended for runtime-computed GUCs that are only * available via 'postgres -C' if the server is not running. */ -#define GUC_RUNTIME_COMPUTED 0x200000 - -#define GUC_NO_RESET 0x400000 /* not support RESET and save */ +#define GUC_RUNTIME_COMPUTED 0x400000 #define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME) -- 2.31.1