summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Davis2022-04-07 07:27:07 +0000
committerJeff Davis2022-04-07 07:39:30 +0000
commit9553b4115f1879f66935f42fff0b798ef91866d0 (patch)
tree12a7f2e31a7b9e2d003b5a50513bf2b82fdeec80
parente349c95d3e91754c8c3afc0587d52d44a479c8d2 (diff)
Fix warning introduced in 5c279a6d350.
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/[email protected]
-rw-r--r--src/backend/access/transam/rmgr.c4
-rw-r--r--src/backend/access/transam/xlogreader.c2
-rw-r--r--src/bin/pg_waldump/pg_waldump.c6
-rw-r--r--src/bin/pg_waldump/rmgrdesc.c4
-rw-r--r--src/include/access/rmgr.h18
5 files changed, 22 insertions, 12 deletions
diff --git a/src/backend/access/transam/rmgr.c b/src/backend/access/transam/rmgr.c
index 3c2dc1000d..e1d6ebbd3d 100644
--- a/src/backend/access/transam/rmgr.c
+++ b/src/backend/access/transam/rmgr.c
@@ -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);
}
diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c
index 161cf13fed..e612aa933a 100644
--- a/src/backend/access/transam/xlogreader.c
+++ b/src/backend/access/transam/xlogreader.c
@@ -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",
diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c
index 4f47449a6c..7d92dcaf87 100644
--- a/src/bin/pg_waldump/pg_waldump.c
+++ b/src/bin/pg_waldump/pg_waldump.c
@@ -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);
diff --git a/src/bin/pg_waldump/rmgrdesc.c b/src/bin/pg_waldump/rmgrdesc.c
index d1f92a413c..fac509ed13 100644
--- a/src/bin/pg_waldump/rmgrdesc.c
+++ b/src/bin/pg_waldump/rmgrdesc.c
@@ -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
{
diff --git a/src/include/access/rmgr.h b/src/include/access/rmgr.h
index d9a96410d9..e465800e44 100644
--- a/src/include/access/rmgr.h
+++ b/src/include/access/rmgr.h
@@ -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