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"