Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c) - Mailing list pgsql-hackers

From Richard Guo
Subject Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)
Date
Msg-id CAMbWs4_Jv4p_ib2ZZvUYhgoeSpOABjAW_4chkAhrSU=iW8CRGA@mail.gmail.com
Whole thread Raw
In response to Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)  (Ranier Vilela <ranier.vf@gmail.com>)
Responses Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)
List pgsql-hackers

On Sun, Jun 4, 2023 at 8:42 PM Ranier Vilela <ranier.vf@gmail.com> wrote:
Hi,

Per Coverity.

At function ExtendBufferedRelShared, has a always true test.
eb.rel was dereferenced one line above, so in
if (eb.rel) is always true.

I think it's worth removing the test, because Coverity raises dozens of alerts thinking eb.rel might be NULL.
Besides, one less test is one less branch.

This also happens in ExtendBufferedRelTo, and the comment there explains
that the eb.rel 'could have been closed while waiting for lock'.  So for
the same consideration, the test in ExtendBufferedRelShared might be
still needed?  But I'm not familiar with the arounding codes, so need
someone else to confirm that.

Thanks
Richard

pgsql-hackers by date:

Previous
From: Jeremy Schneider
Date:
Subject: collation settings table in v16 docs
Next
From: Tom Lane
Date:
Subject: Re: Cleaning up array_in()