Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)
Date: 2023-06-05 02:37:10
Message-ID: CAMbWs4_Jv4p_ib2ZZvUYhgoeSpOABjAW_4chkAhrSU=iW8CRGA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jun 4, 2023 at 8:42 PM Ranier Vilela <ranier(dot)vf(at)gmail(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-06-05 02:38:28 Re: Cleaning up array_in()
Previous Message Jeremy Schneider 2023-06-05 02:31:33 collation settings table in v16 docs