thies           Wed Apr  4 14:51:59 2001 EDT

  Modified files:              (Branch: PHP_4_0_5)
    /php4/ext/pgsql     pgsql.c php_pgsql.h 
  Log:
  MFH - make postgresql compiel against 6.5.x
  
  
Index: php4/ext/pgsql/pgsql.c
diff -u php4/ext/pgsql/pgsql.c:1.93.2.4 php4/ext/pgsql/pgsql.c:1.93.2.5
--- php4/ext/pgsql/pgsql.c:1.93.2.4     Fri Mar 30 07:04:18 2001
+++ php4/ext/pgsql/pgsql.c      Wed Apr  4 14:51:58 2001
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.93.2.4 2001/03/30 15:04:18 zeev Exp $ */
+/* $Id: pgsql.c,v 1.93.2.5 2001/04/04 21:51:58 thies Exp $ */
 
 #include <stdlib.h>
 
@@ -148,23 +148,25 @@
        PGG(num_links)--;
 }
 
-static void _be_quiet(void * arg, const char * message)
+
+static void
+_notice_handler(void *arg, const char *message)
 {
+       PGLS_FETCH();
+
+       if (! PGG(ignore_notices)) {
+               php_log_err(message);
+       }
 }
 
+
 static int _rollback_transactions(zend_rsrc_list_entry *rsrc)
 {
        PGconn *link = (PGconn *)rsrc->ptr;
-       PQnoticeProcessor old_notice_hook;
-
-       /* we set the  PQsetNoticeProcessor to avoid the stupid 
-        * "NOTICE:  BEGIN: already a transaction in progress"
-        * message
-        */ 
 
-       old_notice_hook = PQsetNoticeProcessor(link, _be_quiet, NULL);
+       PGG(ignore_notices) = 1;
        PQexec(link,"BEGIN;ROLLBACK;");
-       PQsetNoticeProcessor(link, old_notice_hook, NULL);
+       PGG(ignore_notices) = 0;
 
        return 0;
 }
@@ -194,6 +196,7 @@
 static void php_pgsql_init_globals(PGLS_D)
 {
        PGG(num_persistent) = 0;
+       PGG(ignore_notices) = 0;
 }
 
 PHP_MINIT_FUNCTION(pgsql)
@@ -262,6 +265,8 @@
        DISPLAY_INI_ENTRIES();
 
 }
+
+
 void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
 {
        char 
*host=NULL,*port=NULL,*options=NULL,*tty=NULL,*dbname=NULL,*connstring=NULL;
@@ -377,6 +382,8 @@
                                RETURN_FALSE;
                        }
 
+                       PQsetNoticeProcessor(pgsql, _notice_handler, NULL);
+
                        /* hash it up */
                        new_le.type = le_plink;
                        new_le.ptr = pgsql;
@@ -405,6 +412,8 @@
                                }
                        }
                        pgsql = (PGconn *) le->ptr;
+
+                       PQsetNoticeProcessor(pgsql, _notice_handler, NULL);
                }
                ZEND_REGISTER_RESOURCE(return_value, pgsql, le_plink);
        } else {
@@ -450,6 +459,8 @@
                        efree(hashed_details);
                        RETURN_FALSE;
                }
+
+               PQsetNoticeProcessor(pgsql, _notice_handler, NULL);
 
                /* add it to the list */
                ZEND_REGISTER_RESOURCE(return_value, pgsql, le_link);
Index: php4/ext/pgsql/php_pgsql.h
diff -u php4/ext/pgsql/php_pgsql.h:1.28 php4/ext/pgsql/php_pgsql.h:1.28.2.1
--- php4/ext/pgsql/php_pgsql.h:1.28     Sun Feb 25 22:07:12 2001
+++ php4/ext/pgsql/php_pgsql.h  Wed Apr  4 14:51:58 2001
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_pgsql.h,v 1.28 2001/02/26 06:07:12 andi Exp $ */
+/* $Id: php_pgsql.h,v 1.28.2.1 2001/04/04 21:51:58 thies Exp $ */
 
 #ifndef PHP_PGSQL_H
 #define PHP_PGSQL_H
@@ -119,6 +119,7 @@
        long max_links,max_persistent;
        long allow_persistent;
        int le_lofp,le_string;
+       int ignore_notices;
 } php_pgsql_globals;
 
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to