cvs: php-src /ext/mysql php_mysql.c
| From: | Antony Dovgal | Date: | Sat, 14 Apr 2007 10:19:10 +0000 |
| Subject: | cvs: php-src /ext/mysql php_mysql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-43874@lists.php.net to get a copy of this message | ||
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