Re: POC: make mxidoff 64 bits
| От | Tom Lane |
|---|---|
| Тема | Re: POC: make mxidoff 64 bits |
| Дата | |
| Msg-id | 1827755.1765752936@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: POC: make mxidoff 64 bits (Heikki Linnakangas <hlinnaka@iki.fi>) |
| Ответы |
Re: POC: make mxidoff 64 bits
|
| Список | 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 по дате отправления: