summaryrefslogtreecommitdiff
path: root/ext/pgsql/pgsql.c
diff options
context:
space:
mode:
authorYasuo Ohgaki <yohgaki@php.net>2002-01-24 06:20:33 +0000
committerYasuo Ohgaki <yohgaki@php.net>2002-01-24 06:20:33 +0000
commitddee00da0e1a1ee8b3fef9b38844a6f902935874 (patch)
tree8c695d4d9e42be56dbf155d667e67183970328c2 /ext/pgsql/pgsql.c
parentdc82c80981efa2fb3440c6eb2f657f423958e553 (diff)
downloadphp-git-ddee00da0e1a1ee8b3fef9b38844a6f902935874.tar.gz
No more httpd restart is required when PostgreSQL is rebooted.
# Works for pg_query()/pg_send_query()
Diffstat (limited to 'ext/pgsql/pgsql.c')
-rw-r--r--ext/pgsql/pgsql.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 30dceb3f2c..fe802a28de 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -829,6 +829,9 @@ PHP_FUNCTION(pg_query)
ZEND_FETCH_RESOURCE2(pgsql, PGconn *, pgsql_link, id, "PostgreSQL link", le_link, le_plink);
+ if (PQstatus(pgsql) != CONNECTION_OK) {
+ PQreset(pgsql);
+ }
convert_to_string_ex(query);
PQsetnonblocking(pgsql, 0);
while ((pgsql_result = PQgetResult(pgsql))) {
@@ -2510,6 +2513,9 @@ PHP_FUNCTION(pg_send_query)
ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink);
+ if (PQstatus(pgsql) != CONNECTION_OK) {
+ PQreset(pgsql);
+ }
if (PQsetnonblocking(pgsql, 1)) {
php_error(E_NOTICE,"%s() cannot set connection to nonblocking mode",
get_active_function_name(TSRMLS_C));