From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Craig Ringer <craig(at)2ndquadrant(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>, "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1 |
Date: | 2016-10-18 15:42:52 |
Message-ID: | 15566.1476805372@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> No, it's cross *file* references within a single contrib module that
> would be likely to need extern declarations in a header file. That's
> not especially weird IMO. I'm not sure how many cases there actually
> are though.
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.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2016-10-18 15:44:02 | Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1 |
Previous Message | Robert Haas | 2016-10-18 15:39:17 | Re: Partition-wise join for join between (declaratively) partitioned tables |