Fix warning introduced in 5c279a6d350.
authorJeff Davis <jdavis@postgresql.org>
Thu, 7 Apr 2022 07:27:07 +0000 (00:27 -0700)
committerJeff Davis <jdavis@postgresql.org>
Thu, 7 Apr 2022 07:39:30 +0000 (00:39 -0700)
Change two macros to be static inline functions instead to keep the
data type consistent. This avoids a "comparison is always true"
warning that was occurring with -Wtype-limits. In the process, change
the names to look less like macros.

Discussion: https://postgr.es/m/20220407063505.njnnrmbn4sxqfsts@alap3.anarazel.de

src/backend/access/transam/rmgr.c
src/backend/access/transam/xlogreader.c
src/bin/pg_waldump/pg_waldump.c
src/bin/pg_waldump/rmgrdesc.c
src/include/access/rmgr.h

index 3c2dc1000db955fc0d63430babe50e26851fb2dc..e1d6ebbd3dbb5e0518d42108f3892d3d2a57855a 100644 (file)
@@ -101,7 +101,7 @@ RegisterCustomRmgr(RmgrId rmid, RmgrData *rmgr)
                ereport(ERROR, (errmsg("custom resource manager name is invalid"),
                                                errhint("Provide a non-empty name for the custom resource manager.")));
 
-       if (!RMID_IS_CUSTOM(rmid))
+       if (!RmgrIdIsCustom(rmid))
                ereport(ERROR, (errmsg("custom resource manager ID %d is out of range", rmid),
                                                errhint("Provide a custom resource manager ID between %d and %d.",
                                                                RM_MIN_CUSTOM_ID, RM_MAX_CUSTOM_ID)));
@@ -153,7 +153,7 @@ pg_get_wal_resource_managers(PG_FUNCTION_ARGS)
                        continue;
                values[0] = Int32GetDatum(rmid);
                values[1] = CStringGetTextDatum(GetRmgr(rmid).rm_name);
-               values[2] = BoolGetDatum(RMID_IS_BUILTIN(rmid));
+               values[2] = BoolGetDatum(RmgrIdIsBuiltin(rmid));
                tuplestore_putvalues(rsinfo->setResult, rsinfo->setDesc, values, nulls);
        }
 
index 161cf13fed25fbdc3f33bcb0f27f6b2ee05ecc9a..e612aa933a579925041693cd08b34472f102f6ac 100644 (file)
@@ -1102,7 +1102,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
                                                          (uint32) SizeOfXLogRecord, record->xl_tot_len);
                return false;
        }
-       if (!RMID_IS_VALID(record->xl_rmid))
+       if (!RmgrIdIsValid(record->xl_rmid))
        {
                report_invalid_record(state,
                                                          "invalid resource manager ID %u at %X/%X",
index 4f47449a6cbedb53ea790d0fd134d284d6f9c662..7d92dcaf87b95ca7252a00eb2a5d70208e23b9cd 100644 (file)
@@ -749,7 +749,7 @@ XLogDumpDisplayStats(XLogDumpConfig *config, XLogDumpStats *stats)
                                        tot_len;
                const RmgrDescData *desc;
 
-               if (!RMID_IS_VALID(ri))
+               if (!RmgrIdIsValid(ri))
                        continue;
 
                desc = GetRmgrDesc(ri);
@@ -761,7 +761,7 @@ XLogDumpDisplayStats(XLogDumpConfig *config, XLogDumpStats *stats)
                        fpi_len = stats->rmgr_stats[ri].fpi_len;
                        tot_len = rec_len + fpi_len;
 
-                       if (RMID_IS_CUSTOM(ri) && count == 0)
+                       if (RmgrIdIsCustom(ri) && count == 0)
                                continue;
 
                        XLogDumpStatsRow(desc->rm_name,
@@ -1025,7 +1025,7 @@ main(int argc, char **argv)
                                         */
                                        if (sscanf(optarg, "custom%03d", &rmid) == 1)
                                        {
-                                               if (!RMID_IS_CUSTOM(rmid))
+                                               if (!RmgrIdIsCustom(rmid))
                                                {
                                                        pg_log_error("custom resource manager \"%s\" does not exist",
                                                                                 optarg);
index d1f92a413cf680522d8371e560f217d2615a6687..fac509ed134e5190eed5cb3eb4a52ff35a0a14b9 100644 (file)
@@ -86,9 +86,9 @@ initialize_custom_rmgrs(void)
 const RmgrDescData *
 GetRmgrDesc(RmgrId rmid)
 {
-       Assert(RMID_IS_VALID(rmid));
+       Assert(RmgrIdIsValid(rmid));
 
-       if (RMID_IS_BUILTIN(rmid))
+       if (RmgrIdIsBuiltin(rmid))
                return &RmgrDescTable[rmid];
        else
        {
index d9a96410d977575ed34ae41d21697e0ca48c3958..e465800e445ef0754c4df9a283687c147ff72933 100644 (file)
@@ -37,10 +37,20 @@ typedef enum RmgrIds
 #define RM_N_IDS                       (UINT8_MAX + 1)
 #define RM_N_BUILTIN_IDS       (RM_MAX_BUILTIN_ID + 1)
 #define RM_N_CUSTOM_IDS                (RM_MAX_CUSTOM_ID - RM_MIN_CUSTOM_ID + 1)
-#define RMID_IS_BUILTIN(rmid) ((rmid) <= RM_MAX_BUILTIN_ID)
-#define RMID_IS_CUSTOM(rmid) ((rmid) >= RM_MIN_CUSTOM_ID && \
-                                                         (rmid) <= RM_MAX_CUSTOM_ID)
-#define RMID_IS_VALID(rmid) (RMID_IS_BUILTIN((rmid)) || RMID_IS_CUSTOM((rmid)))
+
+static inline bool
+RmgrIdIsBuiltin(int rmid)
+{
+       return rmid <= RM_MAX_BUILTIN_ID;
+}
+
+static inline bool
+RmgrIdIsCustom(int rmid)
+{
+       return rmid >= RM_MIN_CUSTOM_ID && rmid <= RM_MAX_CUSTOM_ID;
+}
+
+#define RmgrIdIsValid(rmid) (RmgrIdIsBuiltin((rmid)) || RmgrIdIsCustom((rmid)))
 
 /*
  * RmgrId to use for extensions that require an RmgrId, but are still in