From b207f4a2560a19435598d442a0ca3f5e43aba532 Mon Sep 17 00:00:00 2001
From: Masahiko Sawada <sawada.mshk@gmail.com>
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

