Change some Datum to void * for opaque pass-through pointer
I developed this patch as part of the Datum-as-struct semi-proposal [0]/messages/by-id/8246d7ff-f4b7-4363-913e-827dadfeb145@eisentraut.org.
I think it can be useful independent of that.
Here, Datum was used to pass around an opaque pointer between a group of
functions. But one might as well use void * for that; the use of Datum
doesn't achieve anything here and is just distracting.
[0]: /messages/by-id/8246d7ff-f4b7-4363-913e-827dadfeb145@eisentraut.org
/messages/by-id/8246d7ff-f4b7-4363-913e-827dadfeb145@eisentraut.org
Attachments:
0001-Change-some-Datum-to-void-for-opaque-pass-through-po.patchtext/plain; charset=UTF-8; name=0001-Change-some-Datum-to-void-for-opaque-pass-through-po.patchDownload+12-13
Peter Eisentraut <peter@eisentraut.org> writes:
Here, Datum was used to pass around an opaque pointer between a group of
functions. But one might as well use void * for that; the use of Datum
doesn't achieve anything here and is just distracting.
We have some APIs where Datum is used to be agnostic about whether
a pointer or an integer is being passed through. on_shmem_exit()
callers make use of both cases, for example.
These tsearch functions don't need that, and they aren't adjacent
to places using such an API, so I'm fine with this patch as written.
But I don't mean that as carte blanche to make such changes
everywhere.
regards, tom lane
On 23.12.25 16:07, Tom Lane wrote:
Peter Eisentraut <peter@eisentraut.org> writes:
Here, Datum was used to pass around an opaque pointer between a group of
functions. But one might as well use void * for that; the use of Datum
doesn't achieve anything here and is just distracting.We have some APIs where Datum is used to be agnostic about whether
a pointer or an integer is being passed through. on_shmem_exit()
callers make use of both cases, for example.
Agreed, those are different situations.
These tsearch functions don't need that, and they aren't adjacent
to places using such an API, so I'm fine with this patch as written.
Ok, committed.