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