Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1

From: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "'Tom Lane *EXTERN*'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Craig Ringer <craig(at)2ndquadrant(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1
Date: 2016-10-24 15:35:49
Message-ID: A737B7A37273E048B164557ADEF4A58B5396277C@ntex2010a.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> I poked at this a little bit. AFAICT, the only actual cross-file
> references are in contrib/ltree/, which has quite a few. Maybe we
> could hold our noses and attach PGDLLEXPORT to the declarations in
> ltree.h.
>
> hstore's HSTORE_POLLUTE macro would also need PGDLLEXPORT-ification,
> but that's just within the macro so it wouldn't be too ugly.
>
> The other problem is xml2's xml_is_well_formed(), which duplicates
> the name of a core backend function. If we PGDLLEXPORT-ify that,
> we get conflicts against the core's declaration in utils/xml.h.
> I do not see any nice way to dodge that. Maybe we could decide that
> six releases' worth of backwards compatibility is enough and
> just drop it from xml2 --- AFAICS, that would only break applications
> that had never updated to the extension-ified version of xml2 at all.

I guess it would also be possible, but undesirable, to decorate the
declaration in utils/xml.h.

Anyway, I have prepared a patch along the lines you suggest.

Yours,
Laurenz Albe

Attachment Content-Type Size
0001-Add-PGDLLEXPORT-to-PG_FUNCTION_INFO_V1-function-decl.patch application/octet-stream 6.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Petr Jelinek 2016-10-24 15:49:13 Re: [PATCH] Logical decoding timeline following take II
Previous Message Bruce Momjian 2016-10-24 15:06:27 Re: Renaming of pg_xlog and pg_clog