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

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-07-19T15:37:11Z
Lists: pgsql-hackers
Hi

út 19. 7. 2022 v 17:31 odesílatel Andres Freund <andres@anarazel.de> napsal:

> Hi,
>
> On 2022-07-19 16:28:07 +0200, Alvaro Herrera wrote:
> > 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.
>
> It does seem a bit random. But I think we probably should err on the side
> of
> adding more declarations, rather than the oposite.
>

This list can be extended. I think plpgsql_check is maybe one extension
that uses code from another extension directly. This is really not common
usage.


>
> I like the plpgsql_internal.h idea, but probably done separately?
>

can be

I have not any problem with it or with exports.txt file.



> Greetings,
>
> Andres Freund
>

Commits

  1. Add PGDLLEXPORTS to some plpgsql function declarations

  2. Default to hidden visibility for extension libraries where possible

  3. Expose a few more PL/pgSQL functions to debugger plugins.