Re: get rid of Pointer type, mostly

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: David Geier <geidav.pg@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-11-24T19:15:13Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove no longer needed casts from Pointer

  2. Remove no longer needed casts to Pointer

  3. Change Pointer to void *

  4. Don't rely on pointer arithmetic with Pointer type

  5. Use more appropriate DatumGet* function

  6. Remove useless casts to Pointer

Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Nov 24, 2025 at 1:46 PM David Geier <geidav.pg@gmail.com> wrote:
>> The GIN code makes use of pointer but src/backend/access/gin only has 29
>> occurrences. If you like I can help out fixing up the GIN code and share
>> a page here. Let me know.

> I'd go for it! I mean, who knows whether your patch will be accepted?
> But another pair of eyes couldn't hurt. It seems like we all agree
> that a full removal of Pointer would be better than a partial removal;
> it's just a question of whether we can get there without too much
> other awkwardness.

If there are actually places in GIN where using void* would be less
readable than using Pointer, that would certainly be interesting
information.  Perhaps the patch would need to spend some effort
on adding comments, not just mechanically replacing the typedef?

			regards, tom lane