Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Nov 24, 2025 at 11:09 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> The second is getting rid of uses of Pointer for variables where you
>>> might as well use void * directly. These are actually not that many.
>> ... but not of that. In particular, I think it's just fine if
>> DatumGetPointer and PointerGetDatum take and return Pointer.
> What's your objection?
We have lots of places where we use trivial typedefs to annotate
what something is. For instance "text *" is not really different
from "struct varlena *", but I don't think anyone would be in favor
of removing the "text" typedef. In this case we have decades of
practice using Pointer to annotate something as being a generic
pointer. I'm in favor of switching it to be "void *" to conform
more closely to modern C semantics, but not of just trying to get
rid of it. Especially so if the removal is incomplete. What have
you really accomplished then?
> (I don't have a considered opinion on this particular point, but in
> general I've found that using Pointer seems to make life worse rather
> than better.)
How much of that comes from "char *" versus "void *"?
regards, tom lane