uw                                       Thu, 15 Oct 2009 20:46:08 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=289684

Log:
Making mysqlnd emit no warnings when fetching pooled persistent connections 
that have timed out or are unusable for any other reason - bug #49761

Bug: http://bugs.php.net/49761 (Assigned) Error while sending CHANGE_USER packet
      
Changed paths:
    U   php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_libmysql.h
    U   php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_mysqlnd.h
    U   php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_libmysql_compat.h
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
    U   php/php-src/trunk/ext/mysqli/mysqli_libmysql.h
    U   php/php-src/trunk/ext/mysqli/mysqli_mysqlnd.h
    U   php/php-src/trunk/ext/mysqli/mysqli_nonapi.c
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd.c
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd.h
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd_libmysql_compat.h
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_libmysql.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_libmysql.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_libmysql.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -34,3 +34,5 @@
 #define mysqli_close(c, is_forced)			mysql_close((c))
 #define mysqli_stmt_close(c, implicit)		mysql_stmt_close((c))
 #define mysqli_free_result(r, is_forced)	mysql_free_result((r))
+#define mysqli_change_user_silent(c, u, p, d)   mysql_change_user((c), (u), (p), (d))
+

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_mysqlnd.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_mysqlnd.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_mysqlnd.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -39,6 +39,7 @@
 #define mysqli_free_result(r, implicit)	mysqlnd_free_result((r), (implicit))
 #define mysqli_bg_store_result(r)		mysqlnd_bg_store_result((r))
 #define mysqli_async_query(c, q, l)		mysqlnd_async_query((c), (q), (l))
+#define mysqli_change_user_silent(c, u, p, d)   mysqlnd_change_user((c), (u), (p), (d), TRUE)

 #define HAVE_STMT_NEXT_RESULT


Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c	2009-10-15 20:46:08 UTC (rev 289684)
@@ -166,7 +166,7 @@
 							/* reset variables */

 #ifndef MYSQLI_NO_CHANGE_USER_ON_PCONNECT
-							if (!mysql_change_user(mysql->mysql, username, passwd, dbname)) {
+							if (!mysqli_change_user_silent(mysql->mysql, username, passwd, dbname)) {
 #else
 							if (!mysql_ping(mysql->mysql)) {
 #endif

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c	2009-10-15 20:46:08 UTC (rev 289684)
@@ -1825,7 +1825,8 @@
 MYSQLND_METHOD(mysqlnd_conn, change_user)(MYSQLND * const conn,
 										  const char *user,
 										  const char *passwd,
-										  const char *db TSRMLS_DC)
+										  const char *db,
+										  zend_bool silent TSRMLS_DC)
 {
 	/*
 	  User could be max 16 * 3 (utf8), pass is 20 usually, db is up to 64*3
@@ -1839,8 +1840,8 @@
 	char *p = buffer;

 	DBG_ENTER("mysqlnd_conn::change_user");
-	DBG_INF_FMT("conn=%llu user=%s passwd=%s db=%s",
-				conn->thread_id, user?user:"", passwd?"***":"null", db?db:"");
+	DBG_INF_FMT("conn=%llu user=%s passwd=%s db=%s silent=%d",
+				conn->thread_id, user?user:"", passwd?"***":"null", db?db:"", (silent == TRUE)?1:0 );

 	if (!user) {
 		user = "";
@@ -1877,7 +1878,7 @@

 	if (PASS != mysqlnd_simple_command(conn, COM_CHANGE_USER, buffer, p - buffer,
 									   PROT_LAST /* we will handle the OK packet*/,
-									   FALSE, TRUE TSRMLS_CC)) {
+									   silent, TRUE TSRMLS_CC)) {
 		DBG_RETURN(FAIL);
 	}


Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -96,7 +96,7 @@
 						  MYSQLND_THD_ZVAL_PCACHE *zval_cache
 						  TSRMLS_DC);

-#define mysqlnd_change_user(conn, user, passwd, db)		(conn)->m->change_user((conn), (user), (passwd), (db) TSRMLS_CC)
+#define mysqlnd_change_user(conn, user, passwd, db, silent)		(conn)->m->change_user((conn), (user), (passwd), (db), (silent) TSRMLS_CC)

 #define mysqlnd_debug(x)								_mysqlnd_debug((x) TSRMLS_CC)
 PHPAPI void _mysqlnd_debug(const char *mode TSRMLS_DC);

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_libmysql_compat.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_libmysql_compat.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_libmysql_compat.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -41,7 +41,7 @@
 /* functions */
 #define mysql_affected_rows(r)			mysqlnd_affected_rows((r))
 #define mysql_autocommit(r,m)			mysqlnd_autocommit((r),(m))
-#define mysql_change_user(r,a,b,c)		mysqlnd_change_user((r), (a), (b), (c))
+#define mysql_change_user(r,a,b,c)		mysqlnd_change_user((r), (a), (b), (c), FALSE)
 #define mysql_character_set_name(c)		mysqlnd_character_set_name((c))
 #define mysql_close(r)					mysqlnd_close((r), MYSQLND_CLOSE_EXPLICIT)
 #define mysql_commit(r)					mysqlnd_commit((r))

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -254,7 +254,7 @@
 	enum_func_status	(*kill_connection)(MYSQLND *conn, unsigned int pid TSRMLS_DC);
 	enum_func_status	(*select_db)(MYSQLND * const conn, const char * const db, unsigned int db_len TSRMLS_DC);
 	enum_func_status	(*server_dump_debug_information)(MYSQLND * const conn TSRMLS_DC);
-	enum_func_status	(*change_user)(MYSQLND * const conn, const char * user, const char * passwd, const char * db TSRMLS_DC);
+	enum_func_status	(*change_user)(MYSQLND * const conn, const char * user, const char * passwd, const char * db, zend_bool silent TSRMLS_DC);

 	unsigned int		(*get_error_no)(const MYSQLND * const conn);
 	const char *		(*get_error_str)(const MYSQLND * const conn);

Modified: php/php-src/trunk/ext/mysqli/mysqli_libmysql.h
===================================================================
--- php/php-src/trunk/ext/mysqli/mysqli_libmysql.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqli/mysqli_libmysql.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -34,3 +34,5 @@
 #define mysqli_close(c, is_forced)			mysql_close((c))
 #define mysqli_stmt_close(c, implicit)		mysql_stmt_close((c))
 #define mysqli_free_result(r, is_forced)	mysql_free_result((r))
+#define mysqli_change_user_silent(c, u, p, d)   mysql_change_user((c), (u), (p), (d))
+

Modified: php/php-src/trunk/ext/mysqli/mysqli_mysqlnd.h
===================================================================
--- php/php-src/trunk/ext/mysqli/mysqli_mysqlnd.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqli/mysqli_mysqlnd.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -39,6 +39,7 @@
 #define mysqli_free_result(r, implicit)	mysqlnd_free_result((r), (implicit))
 #define mysqli_bg_store_result(r)		mysqlnd_bg_store_result((r))
 #define mysqli_async_query(c, q, l)		mysqlnd_async_query((c), (q), (l))
+#define mysqli_change_user_silent(c, u, p, d)   mysqlnd_change_user((c), (u), (p), (d), TRUE)

 #define HAVE_STMT_NEXT_RESULT


Modified: php/php-src/trunk/ext/mysqli/mysqli_nonapi.c
===================================================================
--- php/php-src/trunk/ext/mysqli/mysqli_nonapi.c	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqli/mysqli_nonapi.c	2009-10-15 20:46:08 UTC (rev 289684)
@@ -162,7 +162,7 @@
 							/* reset variables */

 #ifndef MYSQLI_NO_CHANGE_USER_ON_PCONNECT
-							if (!mysql_change_user(mysql->mysql, username, passwd, dbname)) {
+							if (!mysqli_change_user_silent(mysql->mysql, username, passwd, dbname)) {
 #else
 							if (!mysql_ping(mysql->mysql)) {
 #endif

Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c	2009-10-15 20:46:08 UTC (rev 289684)
@@ -1825,7 +1825,8 @@
 MYSQLND_METHOD(mysqlnd_conn, change_user)(MYSQLND * const conn,
 										  const char *user,
 										  const char *passwd,
-										  const char *db TSRMLS_DC)
+										  const char *db,
+										  zend_bool silent TSRMLS_DC)
 {
 	/*
 	  User could be max 16 * 3 (utf8), pass is 20 usually, db is up to 64*3
@@ -1839,8 +1840,8 @@
 	char *p = buffer;

 	DBG_ENTER("mysqlnd_conn::change_user");
-	DBG_INF_FMT("conn=%llu user=%s passwd=%s db=%s",
-				conn->thread_id, user?user:"", passwd?"***":"null", db?db:"");
+	DBG_INF_FMT("conn=%llu user=%s passwd=%s db=%s silent=%d",
+				conn->thread_id, user?user:"", passwd?"***":"null", db?db:"", (silent == TRUE)?1:0 );

 	if (!user) {
 		user = "";
@@ -1877,7 +1878,7 @@

 	if (PASS != mysqlnd_simple_command(conn, COM_CHANGE_USER, buffer, p - buffer,
 									   PROT_LAST /* we will handle the OK packet*/,
-									   FALSE, TRUE TSRMLS_CC)) {
+									   silent, TRUE TSRMLS_CC)) {
 		DBG_RETURN(FAIL);
 	}


Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -96,7 +96,7 @@
 						  MYSQLND_THD_ZVAL_PCACHE *zval_cache
 						  TSRMLS_DC);

-#define mysqlnd_change_user(conn, user, passwd, db)		(conn)->m->change_user((conn), (user), (passwd), (db) TSRMLS_CC)
+#define mysqlnd_change_user(conn, user, passwd, db, silent)		(conn)->m->change_user((conn), (user), (passwd), (db), (silent) TSRMLS_CC)

 #define mysqlnd_debug(x)								_mysqlnd_debug((x) TSRMLS_CC)
 PHPAPI void _mysqlnd_debug(const char *mode TSRMLS_DC);

Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_libmysql_compat.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_libmysql_compat.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_libmysql_compat.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -41,7 +41,7 @@
 /* functions */
 #define mysql_affected_rows(r)			mysqlnd_affected_rows((r))
 #define mysql_autocommit(r,m)			mysqlnd_autocommit((r),(m))
-#define mysql_change_user(r,a,b,c)		mysqlnd_change_user((r), (a), (b), (c))
+#define mysql_change_user(r,a,b,c)		mysqlnd_change_user((r), (a), (b), (c), FALSE)
 #define mysql_character_set_name(c)		mysqlnd_character_set_name((c))
 #define mysql_close(r)					mysqlnd_close((r), MYSQLND_CLOSE_EXPLICIT)
 #define mysql_commit(r)					mysqlnd_commit((r))

Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h	2009-10-15 20:19:18 UTC (rev 289683)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h	2009-10-15 20:46:08 UTC (rev 289684)
@@ -254,7 +254,7 @@
 	enum_func_status	(*kill_connection)(MYSQLND *conn, unsigned int pid TSRMLS_DC);
 	enum_func_status	(*select_db)(MYSQLND * const conn, const char * const db, unsigned int db_len TSRMLS_DC);
 	enum_func_status	(*server_dump_debug_information)(MYSQLND * const conn TSRMLS_DC);
-	enum_func_status	(*change_user)(MYSQLND * const conn, const char * user, const char * passwd, const char * db TSRMLS_DC);
+	enum_func_status	(*change_user)(MYSQLND * const conn, const char * user, const char * passwd, const char * db, zend_bool silent TSRMLS_DC);

 	unsigned int		(*get_error_no)(const MYSQLND * const conn);
 	const char *		(*get_error_str)(const MYSQLND * const conn);
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to