Обсуждение: Re: pgsql: Default to hidden visibility for extension libraries where possi

Поиск
Список
Период
Сортировка

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

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> No immediate plans for splitting plpgsql.h, so if anyone wants to take a
> stab at that, be my guest.

ISTM that a comment pointing out that the functions marked PGDLLEXPORT
are meant to be externally accessible should be sufficient.

I'll try to do some research later today to identify anything else
we need to mark in plpgsql.  I recall doing some work specifically
creating functions for pldebugger's use, but I'll need to dig.

            regards, tom lane



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

От
Robert Haas
Дата:
On Wed, Jul 20, 2022 at 9:39 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> ISTM that a comment pointing out that the functions marked PGDLLEXPORT
> are meant to be externally accessible should be sufficient.

The name PGDLLEXPORT is actually slightly misleading, now, because
there's no longer anything about it that is specific to DLLs.

-- 
Robert Haas
EDB: http://www.enterprisedb.com



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

От
Alvaro Herrera
Дата:
On 2022-Jul-20, Tom Lane wrote:

> I'll try to do some research later today to identify anything else
> we need to mark in plpgsql.  I recall doing some work specifically
> creating functions for pldebugger's use, but I'll need to dig.

I suppose you're probably thinking of commit 53ef6c40f1e7; that didn't
expose functions directly, but through plpgsql_plugin_ptr.  Maybe that
one does need to be made PGDLLEXPORT, since currently it isn't.

That was also reported by Pavel.  He was concerned about plpgsql_check,
though, not pldebugger.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
Bob [Floyd] used to say that he was planning to get a Ph.D. by the "green
stamp method," namely by saving envelopes addressed to him as 'Dr. Floyd'.
After collecting 500 such letters, he mused, a university somewhere in
Arizona would probably grant him a degree.              (Don Knuth)



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

От
Tom Lane
Дата:
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Jul 20, 2022 at 9:39 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> ISTM that a comment pointing out that the functions marked PGDLLEXPORT
>> are meant to be externally accessible should be sufficient.

> The name PGDLLEXPORT is actually slightly misleading, now, because
> there's no longer anything about it that is specific to DLLs.

True, but the mess of changing it seems to outweigh any likely clarity
gain.  As long as there's adequate commentary about what it means,
I'm okay with the existing naming.

            regards, tom lane



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

От
Andres Freund
Дата:
Hi,

On July 20, 2022 3:54:03 PM GMT+02:00, Robert Haas <robertmhaas@gmail.com> wrote:
>On Wed, Jul 20, 2022 at 9:39 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> ISTM that a comment pointing out that the functions marked PGDLLEXPORT
>> are meant to be externally accessible should be sufficient.
>
>The name PGDLLEXPORT is actually slightly misleading, now, because
>there's no longer anything about it that is specific to DLLs.

How so? Right now it's solely used for making symbols in DLLs as exported?

Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.



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

От
Tom Lane
Дата:
Andres Freund <andres@anarazel.de> writes:
> On July 20, 2022 3:54:03 PM GMT+02:00, Robert Haas <robertmhaas@gmail.com> wrote:
>> The name PGDLLEXPORT is actually slightly misleading, now, because
>> there's no longer anything about it that is specific to DLLs.

> How so? Right now it's solely used for making symbols in DLLs as exported?

I suspect Robert is reading "DLL" as meaning only a Windows thing.
You're right, if you read it as a generic term for loadable libraries,
it's more or less applicable everywhere.

            regards, tom lane