]> granicus.if.org Git - php/commitdiff
Added "auto_reset_presistent" ini entry.
authorYasuo Ohgaki <yohgaki@php.net>
Fri, 25 Jan 2002 00:43:50 +0000 (00:43 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Fri, 25 Jan 2002 00:43:50 +0000 (00:43 +0000)
ext/pgsql/pgsql.c
ext/pgsql/php_pgsql.h

index 0ed858ebc796cde8a6d8e104685608077c986158..ddd7acc8a51172993a15b2857647c60541aaffa3 100644 (file)
@@ -291,9 +291,10 @@ static void _free_result(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 /* {{{ PHP_INI
  */
 PHP_INI_BEGIN()
-       STD_PHP_INI_BOOLEAN("pgsql.allow_persistent",   "1",    PHP_INI_SYSTEM,         OnUpdateInt,            allow_persistent,       php_pgsql_globals,              pgsql_globals)
+       STD_PHP_INI_BOOLEAN("pgsql.allow_persistent",   "1",    PHP_INI_SYSTEM,         OnUpdateBool,           allow_persistent,       php_pgsql_globals,              pgsql_globals)
        STD_PHP_INI_ENTRY_EX("pgsql.max_persistent",    "-1",   PHP_INI_SYSTEM,         OnUpdateInt,            max_persistent,         php_pgsql_globals,              pgsql_globals,  display_link_numbers)
        STD_PHP_INI_ENTRY_EX("pgsql.max_links",         "-1",   PHP_INI_SYSTEM,                 OnUpdateInt,            max_links,                      php_pgsql_globals,              pgsql_globals,  display_link_numbers)
+       STD_PHP_INI_BOOLEAN("pgsql.auto_reset_persistent",      "0",    PHP_INI_SYSTEM,         OnUpdateBool,           auto_reset_persistent,  php_pgsql_globals,              pgsql_globals)
 PHP_INI_END()
 /* }}} */
 
@@ -535,19 +536,17 @@ void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
                        PGG(num_links)++;
                        PGG(num_persistent)++;
                } else {  /* we do */
-                       php_log_err("CONNECTION IS ALREADY OPENED :)" TSRMLS_CC);
                        if (Z_TYPE_P(le) != le_plink) {
                                RETURN_FALSE;
                        }
                        /* ensure that the link did not die */
-                       {
+                       if (PGG(auto_reset_persistent)) {
                                /* need to send & get something from backend to
                                   make sure we catch CONNECTION_BAD everytime */
                                PGresult *pg_result;
                                pg_result = PQexec(le->ptr, "select 1");
                                PQclear(pg_result);
                        }
-                       PQconsumeInput(le->ptr); 
                        if (PQstatus(le->ptr)==CONNECTION_BAD) { /* the link died */
                                if (le->ptr == NULL) {
                                        if (connstring) {
index 01a8a8f7df8c735f6d2a6bc075628d24f03ac530..71159b65ea87aa35df79908211148e40e407ebd6 100644 (file)
@@ -148,6 +148,7 @@ typedef struct {
        long num_links,num_persistent;
        long max_links,max_persistent;
        long allow_persistent;
+       long auto_reset_persistent;
        int le_lofp,le_string;
        int ignore_notices;
        char *last_notice;