On 2022-Jul-29, Robert Haas wrote:
> Yeah, if we think it's OK to pass around structs, then that seems like
> the right solution. Otherwise functions that take RelFileLocator
> should be changed to take const RelFileLocator * and we should adjust
> elsewhere accordingly.
We do that in other places. See get_object_address() for another
example. Now, I don't see *why* they do it. I suppose there's
notational convenience; for get_object_address() I think it'd be uglier
with another out argument (it already has *relp). For smgropen() it's
not clear at all that there is any.
For the new function, there's at least a couple of places that the
calling convention makes simpler, so I don't see why you wouldn't use it
that way.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"Use it up, wear it out, make it do, or do without"