mirror of
https://github.com/postgres/postgres.git
synced 2025-07-15 19:21:59 +03:00
Rework macro pgstat_is_ioop_tracked_in_bytes()
As written, it was triggering a compilation warning for old versions of clang, as reported by buildfarm members ayu, batfish and demoiselle. Forcing a cast with "unsigned int" should fix the warning. While on it, the macro is moved to pgstat.h, closer to the declaration of IOOp, per suggestion from Tom Lane. Reported-by: Tom Lane Reviewed-by: Bertrand Drouvot, Tom Lane, Nazir Bilal Yavuz Discussion: https://postgr.es/m/1272824.1736961543@sss.pgh.pa.us
This commit is contained in:
@ -23,14 +23,6 @@
|
||||
static PgStat_PendingIO PendingIOStats;
|
||||
static bool have_iostats = false;
|
||||
|
||||
/*
|
||||
* Check if an IOOp is tracked in bytes. This relies on the ordering of IOOp
|
||||
* defined in pgstat.h, so make sure to update this check when changing its
|
||||
* elements.
|
||||
*/
|
||||
#define pgstat_is_ioop_tracked_in_bytes(io_op) \
|
||||
((io_op) < IOOP_NUM_TYPES && (io_op) >= IOOP_EXTEND)
|
||||
|
||||
/*
|
||||
* Check that stats have not been counted for any combination of IOObject,
|
||||
* IOContext, and IOOp which are not tracked for the passed-in BackendType. If
|
||||
|
@ -314,6 +314,10 @@ typedef enum IOOp
|
||||
|
||||
#define IOOP_NUM_TYPES (IOOP_WRITE + 1)
|
||||
|
||||
#define pgstat_is_ioop_tracked_in_bytes(io_op) \
|
||||
(((unsigned int) (io_op)) < IOOP_NUM_TYPES && \
|
||||
((unsigned int) (io_op)) >= IOOP_EXTEND)
|
||||
|
||||
typedef struct PgStat_BktypeIO
|
||||
{
|
||||
uint64 bytes[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES];
|
||||
|
Reference in New Issue
Block a user