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 по дате отправления: