tony2001                Sat Apr 14 10:19:10 2007 UTC

  Modified files:              
    /php-src/ext/mysql  php_mysql.c 
  Log:
  fix #41083 (mysql_ping() requires MYSQL_OPT_RECONNECT to be set since MySQL 
5.0.13)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.231&r2=1.232&diff_format=u
Index: php-src/ext/mysql/php_mysql.c
diff -u php-src/ext/mysql/php_mysql.c:1.231 php-src/ext/mysql/php_mysql.c:1.232
--- php-src/ext/mysql/php_mysql.c:1.231 Sat Feb 24 16:25:54 2007
+++ php-src/ext/mysql/php_mysql.c       Sat Apr 14 10:19:10 2007
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
  
-/* $Id: php_mysql.c,v 1.231 2007/02/24 16:25:54 helly Exp $ */
+/* $Id: php_mysql.c,v 1.232 2007/04/14 10:19:10 tony2001 Exp $ */
 
 /* TODO:
  *
@@ -482,6 +482,9 @@
 #if MYSQL_VERSION_ID <= 32230
        void (*handler) (int);
 #endif
+#if MYSQL_VERSION_ID > 50012
+       my_bool my_true = 1;
+#endif
        zend_bool free_host=0, new_link=0;
        long connect_timeout;
 
@@ -590,8 +593,14 @@
 #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */
                        mysql_init(&mysql->conn);
 
-                       if (connect_timeout != -1)
+#if MYSQL_VERSION_ID > 50012
+                       /* Reconnect has been off by default since MySQL 5.0.3; 
+                          this option is new in 5.0.13 and provides a way to 
set reconnection behavior explicitly. */
+                       mysql_options(&mysql->conn, MYSQL_OPT_RECONNECT, (const 
char *)&my_true);
+#endif
+                       if (connect_timeout != -1) {
                                mysql_options(&mysql->conn, 
MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
+                       }
 
                        if (mysql_real_connect(&mysql->conn, host, user, 
passwd, NULL, port, socket, client_flags)==NULL) {
 #else
@@ -707,8 +716,15 @@
 #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */
                mysql_init(&mysql->conn);
 
-               if (connect_timeout != -1)
-                               mysql_options(&mysql->conn, 
MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
+#if MYSQL_VERSION_ID > 50012
+               /* Reconnect has been off by default since MySQL 5.0.3; 
+                this option is new in 5.0.13 and provides a way to set 
reconnection behavior explicitly. */
+               mysql_options(&mysql->conn, MYSQL_OPT_RECONNECT, (const char 
*)&my_true);
+#endif
+
+               if (connect_timeout != -1) {
+                       mysql_options(&mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, 
(const char *)&connect_timeout);
+               }
 
                if (mysql_real_connect(&mysql->conn, host, user, passwd, NULL, 
port, socket, client_flags)==NULL) {
 #else

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to