Re: Why does load_external_function() return PGFunction? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Why does load_external_function() return PGFunction?
Date
Msg-id 16403.1518014110@sss.pgh.pa.us
Whole thread Raw
In response to Re: Why does load_external_function() return PGFunction?  (Andres Freund <andres@anarazel.de>)
Responses Re: Why does load_external_function() return PGFunction?  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
List pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2018-02-06 15:43:29 -0500, Tom Lane wrote:
>> void* isn't necessarily compatible with function pointers --- there are
>> platforms where they're physically different widths, though possibly
>> you'd never get PG to run on such hardware anyway.

> Fair point. Although we're relying on dlsym like infrastructure, which
> returns just a void *.

Yeah.  Presumably, a platform where they were really different would have
to provide some unstandardized variant of dlsym for fetching function
pointers.  We could cope with that fairly easily as things stand, since
we have platform-specific wrappers for dlsym anyway.  But if we made the
API for the wrappers dependent on data and code pointers being the same,
we'd be in trouble.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] path toward faster partition pruning
Next
From: Claudio Freire
Date:
Subject: Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem