PGSQL and POD_SQL: don't include pg_config.h

Even if that header file is available, we better consider it private,
and don't include it.  The information about whether SSL support is
enabled is now missing (`USE_(OPEN)SSL`), and it seems there is no
alternative way to get it (`PQinitSSL()` is always defined), so we
remove it from the PHP info.  Furthermore, the `PG_VERSION` and
`PG_VERSION_STR` macros are no longer available, but as of libpq 9.1
there is `PQlibVersion()` which allows us to construct `PG_VERSION` in
a most likely backwards compatible manner.  The additional information
available through `PG_VERSION_STR` is lost, though, so we define
`PGSQL_LIBPQ_VERSION_STR` basically as alias of `PGSQL_LIBPQ_VERSION`,
and deprecate it right away.

Since we are now requiring at least libpq 9.1, we can remove some
further compatibility code and additional checks.

Regarding the raised requirements: official support for PostGreSQL 9.0
ended on 2015-10-08, and even CentOS 7 already has PostGreSQL 9.2, so
this is not supposed to be too much of an issue.
This commit is contained in:
Christoph M. Becker 2020-05-25 09:00:32 +02:00
parent f3efb9e3fb
commit ce668c0ec6
11 changed files with 77 additions and 193 deletions

View file

@ -48,11 +48,6 @@ extern zend_module_entry pgsql_module_entry;
# endif
#endif
#ifdef HAVE_PG_CONFIG_H
#undef SIZEOF_OFF_T
#include <pg_config.h>
#endif
#ifdef HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT
const char * pg_encoding_to_char(int encoding);
#endif
@ -141,9 +136,7 @@ PHP_FUNCTION(pg_lo_import);
PHP_FUNCTION(pg_lo_export);
PHP_FUNCTION(pg_lo_seek);
PHP_FUNCTION(pg_lo_tell);
#ifdef HAVE_PG_LO_TRUNCATE
PHP_FUNCTION(pg_lo_truncate);
#endif
/* debugging functions */
PHP_FUNCTION(pg_trace);