[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c
andrey Tue Oct 28 10:45:32 2008 UTC Modified files: /php-src/ext/mysql php_mysql.c /php-src/ext/mysqli mysqli_nonapi.c Log: Fix compiler warning (MFB: Ilia) http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.267r2=1.268diff_format=u Index: php-src/ext/mysql/php_mysql.c diff -u php-src/ext/mysql/php_mysql.c:1.267 php-src/ext/mysql/php_mysql.c:1.268 --- php-src/ext/mysql/php_mysql.c:1.267 Mon Oct 27 12:07:35 2008 +++ php-src/ext/mysql/php_mysql.c Tue Oct 28 10:45:31 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_mysql.c,v 1.267 2008/10/27 12:07:35 andrey Exp $ */ +/* $Id: php_mysql.c,v 1.268 2008/10/28 10:45:31 andrey Exp $ */ /* TODO: * @@ -634,7 +634,7 @@ #if !defined(MYSQL_USE_MYSQLND) if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, - Headers and client library minor version mismatch. Headers:%d Library:%d, + Headers and client library minor version mismatch. Headers:%d Library:%ld, MYSQL_VERSION_ID, mysql_get_client_version()); } #endif http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.88r2=1.89diff_format=u Index: php-src/ext/mysqli/mysqli_nonapi.c diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.88 php-src/ext/mysqli/mysqli_nonapi.c:1.89 --- php-src/ext/mysqli/mysqli_nonapi.c:1.88 Mon Oct 27 14:30:51 2008 +++ php-src/ext/mysqli/mysqli_nonapi.c Tue Oct 28 10:45:31 2008 @@ -17,7 +17,7 @@ | Ulf Wendel [EMAIL PROTECTED] | +--+ - $Id: mysqli_nonapi.c,v 1.88 2008/10/27 14:30:51 andrey Exp $ + $Id: mysqli_nonapi.c,v 1.89 2008/10/28 10:45:31 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -64,7 +64,7 @@ #if !defined(MYSQL_USE_MYSQLND) if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, - Headers and client library minor version mismatch. Headers:%d Library:%d, + Headers and client library minor version mismatch. Headers:%d Library:%ld, MYSQL_VERSION_ID, mysql_get_client_version()); } #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c
andrey Mon Oct 27 12:07:35 2008 UTC Modified files: /php-src/ext/mysql php_mysql.c /php-src/ext/mysqli mysqli_nonapi.c Log: Warning if the library API version differs from the headers used to compile. Patch versions are not considered but major.minor Fix build of ext/mysql with 4.0.x and pre. http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.266r2=1.267diff_format=u Index: php-src/ext/mysql/php_mysql.c diff -u php-src/ext/mysql/php_mysql.c:1.266 php-src/ext/mysql/php_mysql.c:1.267 --- php-src/ext/mysql/php_mysql.c:1.266 Tue Oct 21 22:05:30 2008 +++ php-src/ext/mysql/php_mysql.c Mon Oct 27 12:07:35 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_mysql.c,v 1.266 2008/10/21 22:05:30 lbarnaud Exp $ */ +/* $Id: php_mysql.c,v 1.267 2008/10/27 12:07:35 andrey Exp $ */ /* TODO: * @@ -124,10 +124,14 @@ #endif +#ifdef CLIENT_MULTI_STATEMENTS #define MYSQL_DISABLE_MQ if (mysql-multi_query) { \ mysql_set_server_option(mysql-conn, MYSQL_OPTION_MULTI_STATEMENTS_OFF); \ mysql-multi_query = 0; \ -} +} +#else +#define MYSQL_DISABLE_MQ +#endif /* {{{ mysql_functions[] @@ -627,6 +631,13 @@ zend_bool free_host=0, new_link=0; long connect_timeout; +#if !defined(MYSQL_USE_MYSQLND) + if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + Headers and client library minor version mismatch. Headers:%d Library:%d, + MYSQL_VERSION_ID, mysql_get_client_version()); + } +#endif connect_timeout = MySG(connect_timeout); @@ -682,8 +693,9 @@ client_flags ^= CLIENT_LOCAL_FILES; } +#ifdef CLIENT_MULTI_STATEMENTS client_flags = ~CLIENT_MULTI_STATEMENTS; /* don't allow multi_queries via connect parameter */ - +#endif hashed_details_length = spprintf(hashed_details, 0, mysql_%s_%s_%s_%ld, SAFE_STRING(host_and_port), SAFE_STRING(user), SAFE_STRING(passwd), client_flags); } @@ -735,7 +747,11 @@ /* create the link */ mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn)); mysql-active_result_id = 0; +#ifdef CLIENT_MULTI_STATEMENTS mysql-multi_query = client_flags CLIENT_MULTI_STATEMENTS? 1:0; +#else + mysql-multi_query = 0; +#endif #ifndef MYSQL_USE_MYSQLND mysql-conn = mysql_init(NULL); #else @@ -800,7 +816,11 @@ } mysql = (php_mysql_conn *) le-ptr; mysql-active_result_id = 0; +#ifdef CLIENT_MULTI_STATEMENTS mysql-multi_query = client_flags CLIENT_MULTI_STATEMENTS? 1:0; +#else + mysql-multi_query = 0; +#endif /* ensure that the link did not die */ #if defined(MYSQL_USE_MYSQLND) mysqlnd_end_psession(mysql-conn); @@ -882,7 +902,11 @@ mysql = (php_mysql_conn *) emalloc(sizeof(php_mysql_conn)); mysql-active_result_id = 0; +#ifdef CLIENT_MULTI_STATEMENTS mysql-multi_query = 1; +#else + mysql-multi_query = 0; +#endif #ifndef MYSQL_USE_MYSQLND mysql-conn = mysql_init(NULL); #else http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.86r2=1.87diff_format=u Index: php-src/ext/mysqli/mysqli_nonapi.c diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.86 php-src/ext/mysqli/mysqli_nonapi.c:1.87 --- php-src/ext/mysqli/mysqli_nonapi.c:1.86 Mon Aug 11 12:32:47 2008 +++ php-src/ext/mysqli/mysqli_nonapi.c Mon Oct 27 12:07:35 2008 @@ -17,7 +17,7 @@ | Ulf Wendel [EMAIL PROTECTED] | +--+ - $Id: mysqli_nonapi.c,v 1.86 2008/08/11 12:32:47 johannes Exp $ + $Id: mysqli_nonapi.c,v 1.87 2008/10/27 12:07:35 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -61,6 +61,14 @@ zend_rsrc_list_entry*le; mysqli_plist_entry *plist = NULL; +#if !defined(MYSQL_USE_MYSQLND) + if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + Headers and client library minor version mismatch. Headers:%d Library:%d, + MYSQL_VERSION_ID, mysql_get_client_version()); + } +#endif + if (getThis() !ZEND_NUM_ARGS() in_ctor) { RETURN_NULL(); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c
andrey Tue Jul 22 23:43:14 2008 UTC Modified files: /php-src/ext/mysql php_mysql.c /php-src/ext/mysqli mysqli_nonapi.c Log: Two less failing tests, one of which was definitely a leak in mysqli with mysqlnd and pconn. ext/mysql is being fixed with a better fix for similar leak. http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.262r2=1.263diff_format=u Index: php-src/ext/mysql/php_mysql.c diff -u php-src/ext/mysql/php_mysql.c:1.262 php-src/ext/mysql/php_mysql.c:1.263 --- php-src/ext/mysql/php_mysql.c:1.262 Tue Jul 22 17:40:43 2008 +++ php-src/ext/mysql/php_mysql.c Tue Jul 22 23:43:14 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_mysql.c,v 1.262 2008/07/22 17:40:43 andrey Exp $ */ +/* $Id: php_mysql.c,v 1.263 2008/07/22 23:43:14 andrey Exp $ */ /* TODO: * @@ -802,6 +802,9 @@ mysql-active_result_id = 0; mysql-multi_query = client_flags CLIENT_MULTI_STATEMENTS? 1:0; /* ensure that the link did not die */ +#if defined(MYSQL_USE_MYSQLND) + mysqlnd_end_psession(mysql-conn); +#endif if (mysql_ping(mysql-conn)) { if (mysql_errno(mysql-conn) == 2006) { if (UG(unicode)) { @@ -1005,15 +1008,6 @@ ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, MySQL-Link, le_link, le_plink); -#ifdef MYSQL_USE_MYSQLND - { - int tmp; - if ((mysql = zend_list_find(Z_RESVAL_PP(mysql_link), tmp)) tmp == le_plink) { - mysqlnd_end_psession(mysql-conn); - } - } -#endif - if (id==-1) { /* explicit resource number */ PHPMY_UNBUFFERED_QUERY_CHECK(); zend_list_delete(Z_RESVAL_PP(mysql_link)); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.84r2=1.85diff_format=u Index: php-src/ext/mysqli/mysqli_nonapi.c diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.84 php-src/ext/mysqli/mysqli_nonapi.c:1.85 --- php-src/ext/mysqli/mysqli_nonapi.c:1.84 Tue Jun 24 11:19:07 2008 +++ php-src/ext/mysqli/mysqli_nonapi.c Tue Jul 22 23:43:14 2008 @@ -17,7 +17,7 @@ | Ulf Wendel [EMAIL PROTECTED] | +--+ - $Id: mysqli_nonapi.c,v 1.84 2008/06/24 11:19:07 andrey Exp $ + $Id: mysqli_nonapi.c,v 1.85 2008/07/22 23:43:14 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -157,6 +157,9 @@ mysql-mysql = zend_ptr_stack_pop(plist-free_links); MyG(num_inactive_persistent)--; +#if defined(MYSQLI_USE_MYSQLND) + mysqlnd_end_psession(mysql-mysql); +#endif /* reset variables */ /* todo: option for ping or change_user */ #if G0 -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c /ext/mysqlnd mysqlnd.c mysqlnd.h
andrey Tue Jun 24 11:19:07 2008 UTC Modified files: /php-src/ext/mysql php_mysql.c /php-src/ext/mysqli mysqli_nonapi.c /php-src/ext/mysqlndmysqlnd.c mysqlnd.h Log: Fix possible bug with persistent connections http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.258r2=1.259diff_format=u Index: php-src/ext/mysql/php_mysql.c diff -u php-src/ext/mysql/php_mysql.c:1.258 php-src/ext/mysql/php_mysql.c:1.259 --- php-src/ext/mysql/php_mysql.c:1.258 Wed Apr 16 12:53:18 2008 +++ php-src/ext/mysql/php_mysql.c Tue Jun 24 11:19:07 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_mysql.c,v 1.258 2008/04/16 12:53:18 andrey Exp $ */ +/* $Id: php_mysql.c,v 1.259 2008/06/24 11:19:07 andrey Exp $ */ /* TODO: * @@ -813,7 +813,7 @@ } } else { #ifdef MYSQL_USE_MYSQLND - mysqlnd_restart_psession(mysql-conn); + mysqlnd_restart_psession(mysql-conn, MySG(mysqlnd_thd_zval_cache)); #endif } } http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.83r2=1.84diff_format=u Index: php-src/ext/mysqli/mysqli_nonapi.c diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.83 php-src/ext/mysqli/mysqli_nonapi.c:1.84 --- php-src/ext/mysqli/mysqli_nonapi.c:1.83 Tue Mar 25 18:28:12 2008 +++ php-src/ext/mysqli/mysqli_nonapi.c Tue Jun 24 11:19:07 2008 @@ -17,7 +17,7 @@ | Ulf Wendel [EMAIL PROTECTED] | +--+ - $Id: mysqli_nonapi.c,v 1.83 2008/03/25 18:28:12 andrey Exp $ + $Id: mysqli_nonapi.c,v 1.84 2008/06/24 11:19:07 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -165,7 +165,7 @@ if (!mysql_ping(mysql-mysql)) { #endif #ifdef MYSQLI_USE_MYSQLND - mysqlnd_restart_psession(mysql-mysql); + mysqlnd_restart_psession(mysql-mysql, MyG(mysqlnd_thd_zval_cache)); #endif MyG(num_active_persistent)++; goto end; http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd.c?r1=1.23r2=1.24diff_format=u Index: php-src/ext/mysqlnd/mysqlnd.c diff -u php-src/ext/mysqlnd/mysqlnd.c:1.23 php-src/ext/mysqlnd/mysqlnd.c:1.24 --- php-src/ext/mysqlnd/mysqlnd.c:1.23 Wed May 7 15:16:27 2008 +++ php-src/ext/mysqlnd/mysqlnd.c Tue Jun 24 11:19:07 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: mysqlnd.c,v 1.23 2008/05/07 15:16:27 andrey Exp $ */ +/* $Id: mysqlnd.c,v 1.24 2008/06/24 11:19:07 andrey Exp $ */ #include php.h #include mysqlnd.h #include mysqlnd_wireprotocol.h @@ -442,7 +442,7 @@ /* {{{ _mysqlnd_restart_psession */ -PHPAPI void _mysqlnd_restart_psession(MYSQLND *conn TSRMLS_DC) +PHPAPI void _mysqlnd_restart_psession(MYSQLND *conn, MYSQLND_THD_ZVAL_PCACHE *cache TSRMLS_DC) { DBG_ENTER(_mysqlnd_restart_psession); MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_CONNECT_REUSED); @@ -451,15 +451,27 @@ mnd_pefree(conn-last_message, conn-persistent); conn-last_message = NULL; } + conn-zval_cache = cache; DBG_VOID_RETURN; } /* }}} */ -/* {{{ mysqlnd_end_psession */ -PHPAPI void mysqlnd_end_psession(MYSQLND *conn) +/* {{{ _mysqlnd_end_psession */ +PHPAPI void _mysqlnd_end_psession(MYSQLND *conn TSRMLS_DC) { - + DBG_ENTER(_mysqlnd_end_psession); + /* + BEWARE This will have a problem with a query cache. + We need to move the data out of the zval cache before we end the psession. + Or we will use nirvana pointers!! + */ + if (conn-zval_cache) { + DBG_INF(Freeing zval cache reference); + mysqlnd_palloc_free_thd_cache_reference(conn-zval_cache); + conn-zval_cache = NULL; + } + DBG_VOID_RETURN; } /* }}} */ http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd.h?r1=1.17r2=1.18diff_format=u Index: php-src/ext/mysqlnd/mysqlnd.h diff -u php-src/ext/mysqlnd/mysqlnd.h:1.17 php-src/ext/mysqlnd/mysqlnd.h:1.18 --- php-src/ext/mysqlnd/mysqlnd.h:1.17 Wed May 7 15:16:27 2008 +++ php-src/ext/mysqlnd/mysqlnd.h Tue Jun 24 11:19:07 2008 @@ -18,12 +18,12 @@ +--+ */ -/* $Id: mysqlnd.h,v 1.17 2008/05/07 15:16:27 andrey Exp $ */ +/* $Id: mysqlnd.h,v 1.18 2008/06/24 11:19:07 andrey Exp $ */ #ifndef MYSQLND_H #define MYSQLND_H -#define MYSQLND_VERSION mysqlnd 5.0.4-dev - 080501 - $Revision: 1.17 $