Re: Why does load_external_function() return PGFunction?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Why does load_external_function() return PGFunction?
Date: 2018-02-07 14:35:10
Message-ID: 16403.1518014110@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund <andres(at)anarazel(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Claudio Freire 2018-02-07 14:36:54 Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem
Previous Message Robert Haas 2018-02-07 13:47:18 Re: [HACKERS] path toward faster partition pruning