Re: pgsql: Default to hidden visibility for extension libraries where possi

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Default to hidden visibility for extension libraries where possi
Date: 2022-07-19 14:28:07
Message-ID: 20220719142807.2zex4cczycc5nqq5@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

[ Redirecting thread to -hackers from -committers ]

On 2022-Jul-19, Tom Lane wrote:

> Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> writes:

> > Do you just need to send a patch to add an exports.txt file to
> > src/pl/plpgsql/src/ for these functions?
>
> The precedent of plpython says that PGDLLEXPORT markers are sufficient.
> But yeah, we need a list of exactly which functions need to be
> re-exposed. I imagine pldebugger has its own needs.

A reasonable guess. I went as far as downloading pldebugger and
compiling it, but it doesn't have a test suite of its own, so I couldn't
verify anything about it. I did notice that plpgsql_check is calling
function load_external_function(), and that doesn't appear in
pldebugger. I wonder if the find_rendezvous_variable business is at
play.

Anyway, the minimal patch that makes plpgsql_check tests pass is
attached. This seems a bit random. Maybe it'd be better to have a
plpgsql_internal.h with functions that are exported only for plpgsql
itself, and keep plpgsql.h with a set of functions, all marked
PGDLLEXPORT, that are for external use.

... oh, and:

$ postmaster -c shared_preload_libraries=plugin_debugger
2022-07-19 16:27:24.006 CEST [742142] FATAL: cannot request additional shared memory outside shmem_request_hook

--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/

Attachment Content-Type Size
0001-add-PGDLLEXPORTS-to-plpgsql.patch text/x-diff 3.8 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Julien Rouhaud 2022-07-19 14:45:52 Re: pgsql: Default to hidden visibility for extension libraries where possi
Previous Message Tom Lane 2022-07-19 13:45:52 Re: pgsql: Default to hidden visibility for extension libraries where possi

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2022-07-19 14:45:52 Re: pgsql: Default to hidden visibility for extension libraries where possi
Previous Message Tom Lane 2022-07-19 14:20:23 Re: [PATCH] Introduce array_shuffle() and array_sample()