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

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



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

From
Alvaro Herrera
Date:
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)



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

From
Andres Freund
Date:
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.



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