Remove PointerIsValid()

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Remove PointerIsValid()
Date: 2025-09-17 05:21:22
Message-ID: ad50ab6b-6f74-4603-b099-1cd6382fb13d@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I think there is agreement that the PointerIsValid() macro is pretty
useless. This patch proposes to remove it. There have been a few
recent mini-discussions in other threads that appear to support this. [0][1]

There were the usual concerns about code churn and backpatching and so
on, but I think in the end the change is not that big and it's in pretty
boring positions. Also, you can backpatch code without PointerIsValid()
just fine. You might run into trouble if you forward-patch. :-/

While converting the code, I tried to find a balance of style of

if (PointerIsValid(foo))

to

if (foo)

or

if (foo != NULL)

but there is no deterministic reason.

(Note that when you convert the first form to the third form, you have
to flip the overall sense of the logic, which might look confusing in
some places.)

[0]:
https://www.postgresql.org/message-id/CA+hUKG+NFKnr=K4oybwDvT35dW=VAjAAfiuLxp+5JeZSOV3nBg@mail.gmail.com
[1]:
https://www.postgresql.org/message-id/bccf2803-5252-47c2-9ff0-340502d5bd1c@iki.fi

Attachment Content-Type Size
0001-Remove-PointerIsValid.patch text/plain 37.3 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message jiaoshuntian 2025-09-17 05:46:31 Re: [BUG] Query with postgres fwd deletes more tuples than it should
Previous Message Zhijie Hou (Fujitsu) 2025-09-17 05:18:37 RE: Parallel Apply