Re: Consistently use macro HeapTupleIsValid to check the validity of tuples in tablecmds.c
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tender Wang <tndrwang@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-04-09T14:43:24Z
Lists: pgsql-hackers
On 09/04/2025 17:23, Tom Lane wrote: > Heikki Linnakangas <hlinnaka@iki.fi> writes: >> Inconsistency is not good either though. I'm not sure it's worth the >> churn, but I could get on board a patch to actually replace all >> HeapTupleIsValid(tuple) calls with plain "tuple != NULL" checks. Keep >> HeapTupleIsValid() just for compatibility, with a comment to discourage >> using it. > > Would you then advocate for also removing macros such as OidIsValid() > and PointerIsValid()? That gets into a *lot* of code churn, and > subsequent back-patching pain. We had a discussion about that > just recently IIRC, and decided not to go there. PointerIsValid is pretty pointless, I think I'd be in favor of eliminating that. OidIsValid() is a little more sensible. If you write "oid != InvalidOid", that reads as a double negative, "is oid not invalid". But yeah, probably not worth the churn. > There's also the perennial issue of whether to write > "if (foo != NULL)" or just "if (foo)". I'm not sure it's worth > trying to standardize that completely. Agreed. I use both, depending on which mood I'm in. -- Heikki Linnakangas Neon (https://neon.tech)
Commits
-
Remove PointerIsValid()
- a5b35fcedb54 19 (unreleased) landed