I developed this patch as part of the Datum-as-struct semi-proposal [0]. 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]: https://www.postgresql.org/message-id/flat/8246d7ff-f4b7-4363-913e-827dadfeb145%40eisentraut.org
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.
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера