]> granicus.if.org Git - php/commitdiff
Making mysqlnd emit no warnings when fetching pooled persistent connections that...
authorUlf Wendel <uw@php.net>
Thu, 15 Oct 2009 20:46:08 +0000 (20:46 +0000)
committerUlf Wendel <uw@php.net>
Thu, 15 Oct 2009 20:46:08 +0000 (20:46 +0000)
ext/mysqli/mysqli_libmysql.h
ext/mysqli/mysqli_mysqlnd.h
ext/mysqli/mysqli_nonapi.c
ext/mysqlnd/mysqlnd.c
ext/mysqlnd/mysqlnd.h
ext/mysqlnd/mysqlnd_libmysql_compat.h
ext/mysqlnd/mysqlnd_structs.h

index be82c4b982004485e9a47dbfa8e3d24cc18ddeab..592435a35358fd3f5f6a06ee3a71dab0f143ac7e 100644 (file)
@@ -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))
+
index 574d9567379350a414a41af663472cc914a678f1..b815dec63296416671a7679b3973afeaf4bcc24e 100644 (file)
@@ -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
 
index 3e0a43e4469f6784c23692289279c86d81a4a072..0edbb1a4ec829575dff12402df889d929c222fdb 100644 (file)
@@ -166,7 +166,7 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
                                                        /* 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
index 815247d96f2668a04ac097cdcea2682f46d4793a..ce2a37bb47ba7dbba991d3c16acacd75ba53cad3 100644 (file)
@@ -1825,7 +1825,8 @@ static enum_func_status
 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 @@ MYSQLND_METHOD(mysqlnd_conn, change_user)(MYSQLND * const conn,
        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 @@ MYSQLND_METHOD(mysqlnd_conn, change_user)(MYSQLND * const conn,
 
        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);
        }
 
index 5da88198376df66a6e8dedcda98c63262ce72bda..efb09ebec9c58b3ce9bcd6da4b282fe3c9df3518 100644 (file)
@@ -96,7 +96,7 @@ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND *conn,
                                                  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);
index a9e15c71ad1adcb25950bb46e30069527f934e5a..78f48c97b99f18010ea01e9af9224b0d716cf03c 100644 (file)
@@ -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))
index 9612fa3fce9369fa716ef96b747c2fcd85face2b..a5ba59e6eaaf6eeb123526832e42d7e63817978e 100644 (file)
@@ -254,7 +254,7 @@ struct st_mysqlnd_conn_methods
        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);