Re: POC: make mxidoff 64 bits - Mailing list pgsql-hackers

From Tom Lane
Subject Re: POC: make mxidoff 64 bits
Date
Msg-id 1827755.1765752936@sss.pgh.pa.us
Whole thread Raw
In response to Re: POC: make mxidoff 64 bits  (Heikki Linnakangas <hlinnaka@iki.fi>)
Responses Re: POC: make mxidoff 64 bits
List pgsql-hackers
Heikki Linnakangas <hlinnaka@iki.fi> writes:
> Ok, I have pushed this. Thanks!

Coverity is unhappy about this bit:

/srv/coverity/git/pgsql-git/postgresql/src/bin/pg_upgrade/multixact_read_v18.c: 282             in
GetOldMultiXactIdSingleMember()
276             if (!TransactionIdIsValid(*xactptr))
277             {
278                 /*
279                  * Corner case 2: we are looking at unused slot zero
280                  */
281                 if (offset == 0)
>>>     CID 1676077:         Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "continue;".
282                     continue;
283
284                 /*
285                  * Otherwise this is an invalid entry that should not be

It sees the earlier test for offset == 0, and evidently is assuming
that the loop's "offset++" will not wrap around.  Now I think that
the point of this check is exactly that "offset++" could have wrapped
around, but the commentary is not so clear that I'm certain this is a
false positive.  If that is the intention, what do you think of
rephrasing this comment as "we have wrapped around to unused slot
zero"?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Optimization of partial index creation for a new column
Next
From: Tomas Vondra
Date:
Subject: Re: Trying out read streams in pgvector (an extension)