Re: Cannot find a working 64-bit integer type on Illumos

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: Cannot find a working 64-bit integer type on Illumos
Дата
Msg-id 8fd19521-8d03-4686-87dc-f4309bd7022b@eisentraut.org
обсуждение исходный текст
Ответ на Re: Cannot find a working 64-bit integer type on Illumos  (Peter Eisentraut <peter@eisentraut.org>)
Список pgsql-hackers
On 04.09.25 11:01, Peter Eisentraut wrote:
> On 03.09.25 17:04, Peter Eisentraut wrote:
>> Consider a third-party extension that does something like dblink or 
>> postgres_fdw.  It will compile against a server and also a libpq.  The 
>> server and the libpq might not be of the same major version.  (On 
>> Debian, only the latest libpq will be available.)  If you have for 
>> example server version 17 and libpq version 18, then you will get the 
>> pg_int64 typedef both from postgres_ext.h (from the PG17 server 
>> includes) and from libpq-fe.h (from PG18 libpq).  That is not allowed 
>> in C99, and even if it were, the underlying types of PG_INT64_TYPE (in 
>> PG17) and int64_t (in PG18) might be different (long int vs. long long 
>> int) and this would fail.
>>
>> I think this could be fixed by moving the definition of pg_int64 back 
>> to postgres_ext.h.  Then extension builds would only get one 
>> definition, because of the header guards.  Depending on include order, 
>> they could get a different underlying type, but that's a smaller 
>> problem, since the type is supposed to be deprecated anyway.
> 
> Here is a patch that has been reported to fix the problem.

I propose to go ahead with this patch in a few days if there are no 
other solutions coming.




В списке pgsql-hackers по дате отправления: