[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_4/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
andrey Tue, 02 Aug 2011 14:18:56 + Revision: http://svn.php.net/viewvc?view=revisionrevision=314109 Log: completely compile out a currently non-needed function Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-08-02 14:10:28 UTC (rev 314108) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-08-02 14:18:56 UTC (rev 314109) @@ -608,7 +608,7 @@ /* }}} */ -#ifdef MYSQL_USE_MYSQLND +#if defined(A0) defined(MYSQL_USE_MYSQLND) static int php_mysql_persistent_helper(zend_rsrc_list_entry *le TSRMLS_DC) { if (le-type == le_plink) { @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#if defined(A0) MYSQL_USE_MYSQLND +#if defined(A0) defined(MYSQL_USE_MYSQLND) zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysql_persistent_helper TSRMLS_CC); #endif Modified: php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c 2011-08-02 14:10:28 UTC (rev 314108) +++ php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c 2011-08-02 14:18:56 UTC (rev 314109) @@ -608,7 +608,7 @@ /* }}} */ -#ifdef MYSQL_USE_MYSQLND +#if defined(A0) defined(MYSQL_USE_MYSQLND) static int php_mysql_persistent_helper(zend_rsrc_list_entry *le TSRMLS_DC) { if (le-type == le_plink) { @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#if defined(A0) MYSQL_USE_MYSQLND +#if defined(A0) defined(MYSQL_USE_MYSQLND) zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysql_persistent_helper TSRMLS_CC); #endif Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2011-08-02 14:10:28 UTC (rev 314108) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2011-08-02 14:18:56 UTC (rev 314109) @@ -608,7 +608,7 @@ /* }}} */ -#ifdef MYSQL_USE_MYSQLND +#if defined(A0) defined(MYSQL_USE_MYSQLND) static int php_mysql_persistent_helper(zend_rsrc_list_entry *le TSRMLS_DC) { if (le-type == le_plink) { @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#if defined(A0) MYSQL_USE_MYSQLND +#if defined(A0) defined(MYSQL_USE_MYSQLND) zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysql_persistent_helper TSRMLS_CC); #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_4/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
johannes Wed, 18 May 2011 11:49:49 + Revision: http://svn.php.net/viewvc?view=revisionrevision=311181 Log: - handle out of memory Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-05-18 11:33:55 UTC (rev 311180) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-05-18 11:49:49 UTC (rev 311181) @@ -830,6 +830,9 @@ } /* create the link */ mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn)); + if (!mysql) { + php_error_docref(NULL TSRMLS_CC, E_ERROR, Out of memory while allocating memory for a persistent link); + } mysql-active_result_id = 0; #ifdef CLIENT_MULTI_STATEMENTS mysql-multi_query = client_flags CLIENT_MULTI_STATEMENTS? 1:0; Modified: php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c 2011-05-18 11:33:55 UTC (rev 311180) +++ php/php-src/branches/PHP_5_4/ext/mysql/php_mysql.c 2011-05-18 11:49:49 UTC (rev 311181) @@ -830,6 +830,9 @@ } /* create the link */ mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn)); + if (!mysql) { + php_error_docref(NULL TSRMLS_CC, E_ERROR, Out of memory while allocating memory for a persistent link); + } mysql-active_result_id = 0; #ifdef CLIENT_MULTI_STATEMENTS mysql-multi_query = client_flags CLIENT_MULTI_STATEMENTS? 1:0; Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2011-05-18 11:33:55 UTC (rev 311180) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2011-05-18 11:49:49 UTC (rev 311181) @@ -830,6 +830,9 @@ } /* create the link */ mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn)); + if (!mysql) { + php_error_docref(NULL TSRMLS_CC, E_ERROR, Out of memory while allocating memory for a persistent link); + } mysql-active_result_id = 0; #ifdef CLIENT_MULTI_STATEMENTS mysql-multi_query = client_flags CLIENT_MULTI_STATEMENTS? 1:0; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
iliaaMon, 14 Feb 2011 14:05:46 + Revision: http://svn.php.net/viewvc?view=revisionrevision=308323 Log: Fixed variable re-declarations Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-02-14 13:58:03 UTC (rev 308322) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-02-14 14:05:46 UTC (rev 308323) @@ -371,11 +371,11 @@ if (mysql-active_result_id) { \ do {\ int type; \ - MYSQL_RES *mysql_result;\ + MYSQL_RES *_mysql_result; \ \ - mysql_result = (MYSQL_RES *) zend_list_find(mysql-active_result_id, type);\ - if (mysql_result type==le_result) { \ - if (mysql_result_is_unbuffered(mysql_result) !mysql_eof(mysql_result)) { \ + _mysql_result = (MYSQL_RES *) zend_list_find(mysql-active_result_id, type); \ + if (_mysql_result type==le_result) { \ + if (mysql_result_is_unbuffered(_mysql_result) !mysql_eof(_mysql_result)) { \ php_error_docref(NULL TSRMLS_CC, E_NOTICE, Function called without first fetching all rows from a previous unbuffered query); \ } \ zend_list_delete(mysql-active_result_id); \ @@ -2126,12 +2126,12 @@ fci.retval_ptr_ptr = retval_ptr; if (ctor_params Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { - HashTable *ht = Z_ARRVAL_P(ctor_params); + HashTable *htl = Z_ARRVAL_P(ctor_params); Bucket *p; fci.param_count = 0; - fci.params = safe_emalloc(sizeof(zval*), ht-nNumOfElements, 0); - p = ht-pListHead; + fci.params = safe_emalloc(sizeof(zval*), htl-nNumOfElements, 0); + p = htl-pListHead; while (p != NULL) { fci.params[fci.param_count++] = (zval**)p-pData; p = p-pListNext; Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2011-02-14 13:58:03 UTC (rev 308322) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2011-02-14 14:05:46 UTC (rev 308323) @@ -371,11 +371,11 @@ if (mysql-active_result_id) { \ do {\ int type; \ - MYSQL_RES *mysql_result;\ + MYSQL_RES *_mysql_result; \ \ - mysql_result = (MYSQL_RES *) zend_list_find(mysql-active_result_id, type);\ - if (mysql_result type==le_result) { \ - if (mysql_result_is_unbuffered(mysql_result) !mysql_eof(mysql_result)) { \ + _mysql_result = (MYSQL_RES *) zend_list_find(mysql-active_result_id, type); \ + if (_mysql_result type==le_result) { \ + if (mysql_result_is_unbuffered(_mysql_result) !mysql_eof(_mysql_result)) { \ php_error_docref(NULL TSRMLS_CC, E_NOTICE, Function called without first fetching all rows from a previous unbuffered query); \ } \ zend_list_delete(mysql-active_result_id); \ @@ -2126,12 +2126,12 @@ fci.retval_ptr_ptr = retval_ptr; if (ctor_params Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { - HashTable *ht = Z_ARRVAL_P(ctor_params); + HashTable *htl =
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysql/ php_mysql.c
andrey Fri, 14 Jan 2011 15:10:09 + Revision: http://svn.php.net/viewvc?view=revisionrevision=307480 Log: pass data which is available Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-01-14 15:00:22 UTC (rev 307479) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-01-14 15:10:09 UTC (rev 307480) @@ -848,7 +848,7 @@ #ifndef MYSQL_USE_MYSQLND if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) #else - if (mysqlnd_connect(mysql-conn, host, user, passwd, 0, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) + if (mysqlnd_connect(mysql-conn, host, user, passwd, passwd_len, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) #endif { /* Populate connect error globals so that the error functions can read them */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysql/ php_mysql.c
andrey Fri, 14 Jan 2011 15:37:49 + Revision: http://svn.php.net/viewvc?view=revisionrevision=307481 Log: fix more parameter stuff, now it is complete Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-01-14 15:10:09 UTC (rev 307480) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2011-01-14 15:37:49 UTC (rev 307481) @@ -762,6 +762,7 @@ } if (!passwd) { passwd = MySG(default_password); + passwd_len = passwd? strlen(passwd):0; } /* disable local infile option for open_basedir */ @@ -896,7 +897,7 @@ #ifndef MYSQL_USE_MYSQLND if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) #else - if (mysqlnd_connect(mysql-conn, host, user, passwd, 0, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) + if (mysqlnd_connect(mysql-conn, host, user, passwd, passwd_len, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) #endif { php_error_docref(NULL TSRMLS_CC, E_WARNING, Link to server lost, unable to reconnect); @@ -975,7 +976,7 @@ #ifndef MYSQL_USE_MYSQLND if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) #else - if (mysqlnd_connect(mysql-conn, host, user, passwd, 0, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) + if (mysqlnd_connect(mysql-conn, host, user, passwd, passwd_len, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) #endif { /* Populate connect error globals so that the error functions can read them */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysql/ php_mysql.c
kalleTue, 05 Oct 2010 09:48:07 + Revision: http://svn.php.net/viewvc?view=revisionrevision=304071 Log: Fix constness warnings Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-10-05 09:40:36 UTC (rev 304070) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-10-05 09:48:07 UTC (rev 304071) @@ -2370,8 +2370,8 @@ } object_init(return_value); - add_property_string(return_value, name,(mysql_field-name?mysql_field-name:), 1); - add_property_string(return_value, table,(mysql_field-table?mysql_field-table:), 1); + add_property_string(return_value, name, (char *) (mysql_field-name?mysql_field-name:), 1); + add_property_string(return_value, table,(char *) (mysql_field-table?mysql_field-table:), 1); add_property_string(return_value, def,(mysql_field-def?mysql_field-def:), 1); add_property_long(return_value, max_length, mysql_field-max_length); add_property_long(return_value, not_null, IS_NOT_NULL(mysql_field-flags)?1:0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
uw Mon, 04 Oct 2010 10:08:10 + Revision: http://svn.php.net/viewvc?view=revisionrevision=303974 Log: Sorry again, nothing but removal of white space from the end of the lines. - fix compile warning ext/mysql/php_mysql.c:640:11: warning: extra tokens at end of #ifdef directive Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-10-04 10:02:58 UTC (rev 303973) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-10-04 10:08:10 UTC (rev 303974) @@ -17,7 +17,7 @@ | Georg Richter ge...@php.net | +--+ */ - + /* $Id$ */ /* TODO: @@ -130,7 +130,7 @@ #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 @@ -295,7 +295,7 @@ PHP_FE(mysql_info, arginfo__optional_mysql_link) #ifdef MYSQL_HAS_SET_CHARSET PHP_FE(mysql_set_charset, arginfo_mysql_set_charset) -#endif +#endif /* for downwards compatability */ PHP_FALIAS(mysql,mysql_db_query, arginfo_mysql_db_query) PHP_FALIAS(mysql_fieldname, mysql_field_name, arginfo_mysql_field_name) @@ -450,7 +450,7 @@ static void _close_mysql_link(zend_rsrc_list_entry *rsrc TSRMLS_DC) { php_mysql_conn *link = (php_mysql_conn *)rsrc-ptr; - void (*handler) (int); + void (*handler) (int); handler = signal(SIGPIPE, SIG_IGN); mysql_close(link-conn); @@ -543,11 +543,11 @@ REGISTER_LONG_CONSTANT(MYSQL_NUM, MYSQL_NUM, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT(MYSQL_BOTH, MYSQL_BOTH, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT(MYSQL_CLIENT_COMPRESS, CLIENT_COMPRESS, CONST_CS | CONST_PERSISTENT); -#if MYSQL_VERSION_ID = 4 +#if MYSQL_VERSION_ID = 4 REGISTER_LONG_CONSTANT(MYSQL_CLIENT_SSL, CLIENT_SSL, CONST_CS | CONST_PERSISTENT); #endif REGISTER_LONG_CONSTANT(MYSQL_CLIENT_INTERACTIVE, CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(MYSQL_CLIENT_IGNORE_SPACE, CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(MYSQL_CLIENT_IGNORE_SPACE, CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT); #ifndef MYSQL_USE_MYSQLND #if MYSQL_VERSION_ID = 4 @@ -717,7 +717,7 @@ #if !defined(PHP_WIN32) !defined(NETWARE) struct servent *serv_ptr; char *env; - + MySG(default_port) = MYSQL_PORT; if ((serv_ptr = getservbyname(mysql, tcp))) { MySG(default_port) = (uint) ntohs((ushort) serv_ptr-s_port); @@ -729,7 +729,7 @@ MySG(default_port) = MYSQL_PORT; #endif } - + if (PG(sql_safe_mode)) { if (ZEND_NUM_ARGS()0) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, SQL safe mode in effect - ignoring host/user/password information); @@ -748,7 +748,7 @@ } } else { if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |s!s!s!bl, host_and_port, host_len, - user, user_len, passwd, passwd_len, + user, user_len, passwd, passwd_len, new_link, client_flags)==FAILURE) { return; } @@ -835,7 +835,7 @@ #else mysql-multi_query = 0; #endif - + #ifndef MYSQL_USE_MYSQLND mysql-conn = mysql_init(NULL); #else @@ -890,7 +890,7 @@ /* ensure that the link did not die */ #if A0 defined(MYSQL_USE_MYSQLND) mysqlnd_end_psession(mysql-conn); -#endif +#endif if (mysql_ping(mysql-conn)) { if (mysql_errno(mysql-conn) == 2006) { #ifndef MYSQL_USE_MYSQLND @@ -915,7 +915,7 @@ ZEND_REGISTER_RESOURCE(return_value, mysql, le_plink); } else { /* non persistent */ zend_rsrc_list_entry *index_ptr, new_index_ptr; - + /* first we check the hash for the hashed_details key. if it exists, * it should point us to the right offset where the actual mysql link sits. * if it doesn't, open a new mysql link, add it to the resource list, @@ -973,7 +973,7 @@ } #ifndef MYSQL_USE_MYSQLND - if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) + if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) #else if (mysqlnd_connect(mysql-conn, host, user, passwd, 0, NULL, 0, port, socket, client_flags TSRMLS_CC) == NULL) #endif @@ -1074,7 +1074,7 @@ #endif zend_list_delete(resource_id); - if (!mysql_link + if (!mysql_link || (mysql_link Z_RESVAL_P(mysql_link)==MySG(default_link))) { MySG(default_link) = -1; if (mysql_link) { @@ -1096,7 +1096,7 @@ zval *mysql_link = NULL; int id = -1; php_mysql_conn *mysql; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|r, db, db_len, mysql_link) == FAILURE) { return; } @@ -1107,11
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_3/ext/mysqli/mysqli.c trunk/ext/mysql/php_mysql.c trunk/ext/mysqli/mysqli.c
uw Mon, 04 Oct 2010 13:36:23 + Revision: http://svn.php.net/viewvc?view=revisionrevision=304016 Log: Trying to fix compiler warnings (on Windows). Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c U php/php-src/trunk/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysqli/mysqli.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-10-04 13:36:06 UTC (rev 304015) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-10-04 13:36:23 UTC (rev 304016) @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#ifdef A0 MYSQL_USE_MYSQLND +#if defined(A0) MYSQL_USE_MYSQLND zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysql_persistent_helper TSRMLS_CC); #endif @@ -888,7 +888,7 @@ mysql-multi_query = 0; #endif /* ensure that the link did not die */ -#if A0 defined(MYSQL_USE_MYSQLND) +#if defined(A0) MYSQL_USE_MYSQLND mysqlnd_end_psession(mysql-conn); #endif if (mysql_ping(mysql-conn)) { Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c === --- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c2010-10-04 13:36:06 UTC (rev 304015) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c2010-10-04 13:36:23 UTC (rev 304016) @@ -893,7 +893,7 @@ if (MyG(error_msg)) { efree(MyG(error_msg)); } -#ifdef A0 MYSQLI_USE_MYSQLND +#if defined(A0) MYSQLI_USE_MYSQLND /* psession is being called when the connection is freed - explicitly or implicitly */ zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysqli_persistent_helper_once TSRMLS_CC); #endif Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2010-10-04 13:36:06 UTC (rev 304015) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-10-04 13:36:23 UTC (rev 304016) @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#ifdef A0 MYSQL_USE_MYSQLND +#if defined(A0) MYSQL_USE_MYSQLND zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysql_persistent_helper TSRMLS_CC); #endif @@ -888,7 +888,7 @@ mysql-multi_query = 0; #endif /* ensure that the link did not die */ -#if A0 defined(MYSQL_USE_MYSQLND) +#if defined(A0) MYSQL_USE_MYSQLND mysqlnd_end_psession(mysql-conn); #endif if (mysql_ping(mysql-conn)) { Modified: php/php-src/trunk/ext/mysqli/mysqli.c === --- php/php-src/trunk/ext/mysqli/mysqli.c 2010-10-04 13:36:06 UTC (rev 304015) +++ php/php-src/trunk/ext/mysqli/mysqli.c 2010-10-04 13:36:23 UTC (rev 304016) @@ -895,7 +895,7 @@ if (MyG(error_msg)) { efree(MyG(error_msg)); } -#ifdef A0 MYSQLI_USE_MYSQLND +#if defined(A0) MYSQLI_USE_MYSQLND /* psession is being called when the connection is freed - explicitly or implicitly */ zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysqli_persistent_helper_once TSRMLS_CC); #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_3/ext/mysqli/mysqli.c branches/PHP_5_3/ext/mysqli/mysqli_api.c branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c trunk/ext/
andrey Thu, 30 Sep 2010 18:10:03 + Revision: http://svn.php.net/viewvc?view=revisionrevision=303897 Log: Plug a leak in mysqli when in the same script a pconn is reused. Call end_psession earlier - so will mysqlnd and the plugins free data earlier. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c U php/php-src/trunk/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysqli/mysqli.c U php/php-src/trunk/ext/mysqli/mysqli_api.c U php/php-src/trunk/ext/mysqli/mysqli_nonapi.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-09-30 15:26:56 UTC (rev 303896) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-09-30 18:10:03 UTC (rev 303897) @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#ifdef MYSQL_USE_MYSQLND +#ifdef A0 MYSQL_USE_MYSQLND zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysql_persistent_helper TSRMLS_CC); #endif @@ -888,7 +888,7 @@ mysql-multi_query = 0; #endif /* ensure that the link did not die */ -#if defined(MYSQL_USE_MYSQLND) +#if A0 defined(MYSQL_USE_MYSQLND) mysqlnd_end_psession(mysql-conn); #endif if (mysql_ping(mysql-conn)) { Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c === --- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c2010-09-30 15:26:56 UTC (rev 303896) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c2010-09-30 18:10:03 UTC (rev 303897) @@ -893,7 +893,8 @@ if (MyG(error_msg)) { efree(MyG(error_msg)); } -#ifdef MYSQLI_USE_MYSQLND +#ifdef A0 MYSQLI_USE_MYSQLND + /* psession is being called when the connection is freed - explicitly or implicitly */ zend_hash_apply(EG(persistent_list), (apply_func_t) php_mysqli_persistent_helper_once TSRMLS_CC); #endif return SUCCESS; Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c === --- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c2010-09-30 15:26:56 UTC (rev 303896) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c2010-09-30 18:10:03 UTC (rev 303897) @@ -588,6 +588,9 @@ if (zend_hash_find(EG(persistent_list), mysql-hash_key, strlen(mysql-hash_key) + 1, (void **)le) == SUCCESS) { if (Z_TYPE_P(le) == php_le_pmysqli()) { mysqli_plist_entry *plist = (mysqli_plist_entry *) le-ptr; +#if defined(MYSQLI_USE_MYSQLND) + mysqlnd_end_psession(mysql-mysql); +#endif zend_ptr_stack_push(plist-free_links, mysql-mysql); MyG(num_active_persistent)--; 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 2010-09-30 15:26:56 UTC (rev 303896) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c 2010-09-30 18:10:03 UTC (rev 303897) @@ -123,7 +123,7 @@ flags = ~CLIENT_LOCAL_FILES; } } - if (mysql-mysql mysqli_resource mysqli_resource-status MYSQLI_STATUS_INITIALIZED) { + if (mysql-mysql mysqli_resource (mysqli_resource-status MYSQLI_STATUS_INITIALIZED || (strlen(SAFE_STR(hostname)) 2 !strncasecmp(hostname, p:, 2 { /* already connected, we should close the connection */ php_mysqli_close(mysql, MYSQLI_CLOSE_IMPLICIT, mysqli_resource-status TSRMLS_CC); } @@ -168,9 +168,6 @@ 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 */ #ifndef MYSQLI_NO_CHANGE_USER_ON_PCONNECT Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2010-09-30 15:26:56 UTC (rev 303896) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-09-30 18:10:03 UTC (rev 303897) @@ -637,7 +637,7 @@ efree(MySG(connect_error)); } -#ifdef MYSQL_USE_MYSQLND +#ifdef A0
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysql/ php_mysql.c tests/mysql_trace_mode.phpt
andrey Tue, 17 Aug 2010 18:07:11 + Revision: http://svn.php.net/viewvc?view=revisionrevision=302396 Log: Update with PHP_DEF_FE, also update the test Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_trace_mode.phpt Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-08-17 17:40:31 UTC (rev 302395) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-08-17 18:07:11 UTC (rev 302396) @@ -251,7 +251,7 @@ #endif /* NETWARE */ PHP_FE(mysql_query, arginfo_mysql_query) PHP_FE(mysql_unbuffered_query, arginfo_mysql_query) - PHP_FE(mysql_db_query, arginfo_mysql_db_query) + PHP_DEP_FE(mysql_db_query, arginfo_mysql_db_query) PHP_FE(mysql_list_dbs, arginfo__optional_mysql_link) PHP_DEP_FE(mysql_list_tables, arginfo_mysql_select_db) PHP_FE(mysql_list_fields, arginfo_mysql_list_fields) Modified: php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_trace_mode.phpt === --- php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_trace_mode.phpt 2010-08-17 17:40:31 UTC (rev 302395) +++ php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_trace_mode.phpt 2010-08-17 18:07:11 UTC (rev 302396) @@ -29,6 +29,8 @@ require_once(clean_table.inc); ? --EXPECTF-- +Deprecated: Function mysql_db_query() is deprecated in %s on line %d + Deprecated: mysql_db_query(): %s Deprecated: mysql_escape_string(): %s -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
felipe Mon, 28 Jun 2010 01:19:08 + Revision: http://svn.php.net/viewvc?view=revisionrevision=300792 Log: - Fix arginfo name Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-06-28 00:15:18 UTC (rev 300791) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-06-28 01:19:08 UTC (rev 300792) @@ -303,7 +303,7 @@ PHP_FALIAS(mysql_fieldlen, mysql_field_len, arginfo_mysql_field_seek) PHP_FALIAS(mysql_fieldtype, mysql_field_type, arginfo_mysql_field_seek) PHP_FALIAS(mysql_fieldflags,mysql_field_flags, arginfo_mysql_field_seek) - PHP_FALIAS(mysql_selectdb, mysql_select_db, mysql_list_tables) + PHP_FALIAS(mysql_selectdb, mysql_select_db, arginfo_mysql_select_db) #ifndef NETWARE/* The below two functions not supported on NetWare */ #if MYSQL_VERSION_ID 4 PHP_DEP_FALIAS(mysql_createdb, mysql_create_db, arginfo_mysql_select_db) Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2010-06-28 00:15:18 UTC (rev 300791) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-06-28 01:19:08 UTC (rev 300792) @@ -303,7 +303,7 @@ PHP_FALIAS(mysql_fieldlen, mysql_field_len, arginfo_mysql_field_seek) PHP_FALIAS(mysql_fieldtype, mysql_field_type, arginfo_mysql_field_seek) PHP_FALIAS(mysql_fieldflags,mysql_field_flags, arginfo_mysql_field_seek) - PHP_FALIAS(mysql_selectdb, mysql_select_db, mysql_list_tables) + PHP_FALIAS(mysql_selectdb, mysql_select_db, arginfo_mysql_select_db) #ifndef NETWARE/* The below two functions not supported on NetWare */ #if MYSQL_VERSION_ID 4 PHP_DEP_FALIAS(mysql_createdb, mysql_create_db, arginfo_mysql_select_db) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
andrey Tue, 25 May 2010 22:55:10 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299764 Log: Handle the situation when mysql_init()/mysqlnd_init() return NULL. It is a rare case of OOM but PHP shouldn't crash, if possible. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-05-25 22:46:17 UTC (rev 299763) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-05-25 22:55:10 UTC (rev 299764) @@ -960,9 +960,17 @@ #else mysql-conn = mysql_init(persistent); #endif + if (!mysql-conn) { + MySG(connect_error) = estrdup(OOM); + php_error_docref(NULL TSRMLS_CC, E_WARNING, OOM); + efree(hashed_details); + efree(mysql); + MYSQL_DO_CONNECT_RETURN_FALSE(); + } - if (connect_timeout != -1) - mysql_options(mysql-conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)connect_timeout); + if (connect_timeout != -1) { + mysql_options(mysql-conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)connect_timeout); + } #ifndef MYSQL_USE_MYSQLND if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) Modified: php/php-src/trunk/ext/mysql/php_mysql.c === --- php/php-src/trunk/ext/mysql/php_mysql.c 2010-05-25 22:46:17 UTC (rev 299763) +++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-05-25 22:55:10 UTC (rev 299764) @@ -960,9 +960,17 @@ #else mysql-conn = mysql_init(persistent); #endif + if (!mysql-conn) { + MySG(connect_error) = estrdup(OOM); + php_error_docref(NULL TSRMLS_CC, E_WARNING, OOM); + efree(hashed_details); + efree(mysql); + MYSQL_DO_CONNECT_RETURN_FALSE(); + } - if (connect_timeout != -1) - mysql_options(mysql-conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)connect_timeout); + if (connect_timeout != -1) { + mysql_options(mysql-conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)connect_timeout); + } #ifndef MYSQL_USE_MYSQLND if (mysql_real_connect(mysql-conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c trunk/ext/mysql/php_mysql.c
felipe Thu, 20 May 2010 17:28:16 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299527 Log: - Added arginfo Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-05-20 15:26:26 UTC (rev 299526) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-05-20 17:28:16 UTC (rev 299527) @@ -135,65 +135,166 @@ #define MYSQL_DISABLE_MQ #endif +/* {{{ arginfo */ +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_connect, 0, 0, 0) + ZEND_ARG_INFO(0, hostname) + ZEND_ARG_INFO(0, username) + ZEND_ARG_INFO(0, password) + ZEND_ARG_INFO(0, new) + ZEND_ARG_INFO(0, flags) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_pconnect, 0, 0, 0) + ZEND_ARG_INFO(0, hostname) + ZEND_ARG_INFO(0, username) + ZEND_ARG_INFO(0, password) + ZEND_ARG_INFO(0, flags) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo__optional_mysql_link, 0, 0, 0) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_select_db, 0, 0, 1) + ZEND_ARG_INFO(0, database_name) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO(arginfo__void_mysql_arg, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_set_charset, 0, 0, 1) + ZEND_ARG_INFO(0, charset_name) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_query, 0, 0, 1) + ZEND_ARG_INFO(0, query) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_db_query, 0, 0, 2) + ZEND_ARG_INFO(0, database_name) + ZEND_ARG_INFO(0, query) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_list_fields, 0, 0, 2) + ZEND_ARG_INFO(0, database_name) + ZEND_ARG_INFO(0, table_name) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_escape_string, 0, 0, 1) + ZEND_ARG_INFO(0, string) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_real_escape_string, 0, 0, 1) + ZEND_ARG_INFO(0, string) + ZEND_ARG_INFO(0, link_identifier) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_result, 0, 0, 2) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, row) + ZEND_ARG_INFO(0, field) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo__result_mysql_arg, 0, 0, 1) + ZEND_ARG_INFO(0, result) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_fetch_object, 0, 0, 1) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, class_name) + ZEND_ARG_INFO(0, ctor_params) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_fetch_array, 0, 0, 1) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, result_type) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_data_seek, 0, 0, 2) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, row_number) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_fetch_field, 0, 0, 1) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, field_offset) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_field_seek, 0, 0, 2) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, field_offset) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mysql_field_name, 0, 0, 2) + ZEND_ARG_INFO(0, result) + ZEND_ARG_INFO(0, field_index) +ZEND_END_ARG_INFO() +/* }}} */ + /* {{{ mysql_functions[] */ static const zend_function_entry mysql_functions[] = { - PHP_FE(mysql_connect,NULL) - PHP_FE(mysql_pconnect,NULL) - PHP_FE(mysql_close, NULL) - PHP_FE(mysql_select_db,NULL) + PHP_FE(mysql_connect,arginfo_mysql_connect) + PHP_FE(mysql_pconnect,arginfo_mysql_pconnect) + PHP_FE(mysql_close, arginfo__optional_mysql_link) + PHP_FE(mysql_select_db,arginfo_mysql_select_db) #ifndef NETWARE /* The below two functions not supported on NetWare */ #if MYSQL_VERSION_ID 4 - PHP_DEP_FE(mysql_create_db, NULL) - PHP_DEP_FE(mysql_drop_db, NULL) + PHP_DEP_FE(mysql_create_db, arginfo_mysql_select_db) + PHP_DEP_FE(mysql_drop_db, arginfo_mysql_select_db) #endif #endif /* NETWARE */ - PHP_FE(mysql_query, NULL) - PHP_FE(mysql_unbuffered_query, NULL) - PHP_FE(mysql_db_query,NULL) - PHP_FE(mysql_list_dbs,NULL) - PHP_DEP_FE(mysql_list_tables, NULL) - PHP_FE(mysql_list_fields, NULL) - PHP_FE(mysql_list_processes, NULL) - PHP_FE(mysql_error, NULL) + PHP_FE(mysql_query, arginfo_mysql_query) + PHP_FE(mysql_unbuffered_query, arginfo_mysql_query) + PHP_FE(mysql_db_query,arginfo_mysql_db_query) + PHP_FE(mysql_list_dbs,arginfo__optional_mysql_link) + PHP_DEP_FE(mysql_list_tables, arginfo_mysql_select_db) + PHP_FE(mysql_list_fields, arginfo_mysql_list_fields) +
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_3/ext/mysqli/mysqli.c branches/PHP_5_3/ext/mysqli/mysqli_api.c branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c trunk/ext/
andrey Tue, 18 May 2010 11:50:31 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299448 Log: Remove duplicated code. Use one centralized functions for data extraction. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_nonapi.c U php/php-src/trunk/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysqli/mysqli_api.c U php/php-src/trunk/ext/mysqli/mysqli_nonapi.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-05-18 11:36:54 UTC (rev 299447) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2010-05-18 11:50:31 UTC (rev 299448) @@ -1993,7 +1993,7 @@ } } #else - mysqlnd_fetch_into(mysql_result, MYSQLND_FETCH_ASSOC, return_value, MYSQLND_MYSQL); + mysqlnd_fetch_into(mysql_result, ((result_type MYSQL_NUM)? MYSQLND_FETCH_NUM:0) | ((result_type MYSQL_ASSOC)? MYSQLND_FETCH_ASSOC:0), return_value, MYSQLND_MYSQL); #endif #ifdef ZEND_ENGINE_2 @@ -2071,19 +2071,7 @@ Gets a result row as an enumerated array */ PHP_FUNCTION(mysql_fetch_row) { -#ifdef MYSQL_USE_MYSQLND - MYSQL_RES *result; - zval *mysql_result; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r, mysql_result) == FAILURE) { - return; - } - ZEND_FETCH_RESOURCE(result, MYSQL_RES *, mysql_result, -1, MySQL result, le_result); - - mysqlnd_fetch_into(result, MYSQLND_FETCH_NUM, return_value, MYSQLND_MYSQL); -#else php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQL_NUM, 1, 0); -#endif } /* }}} */ @@ -2105,25 +2093,7 @@ Fetch a result row as an array (associative, numeric or both) */ PHP_FUNCTION(mysql_fetch_array) { -#ifndef MYSQL_USE_MYSQLND php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0, 2, 0); -#else - MYSQL_RES *result; - zval *mysql_result; - long mode = MYSQLND_FETCH_BOTH; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r|l, mysql_result, mode) == FAILURE) { - return; - } - ZEND_FETCH_RESOURCE(result, MYSQL_RES *, mysql_result, -1, MySQL result, le_result); - - if (mode ~MYSQL_BOTH) { -php_error_docref(NULL TSRMLS_CC, E_WARNING, The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH); -mode = MYSQL_BOTH; -} - - mysqlnd_fetch_into(result, mode, return_value, MYSQLND_MYSQL); -#endif } /* }}} */ @@ -2132,19 +2102,7 @@ Fetch a result row as an associative array */ PHP_FUNCTION(mysql_fetch_assoc) { -#ifndef MYSQL_USE_MYSQLND php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQL_ASSOC, 1, 0); -#else - MYSQL_RES *result; - zval *mysql_result; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r, mysql_result) == FAILURE) { - return; - } - ZEND_FETCH_RESOURCE(result, MYSQL_RES *, mysql_result, -1, MySQL result, le_result); - - mysqlnd_fetch_into(result, MYSQLND_FETCH_ASSOC, return_value, MYSQLND_MYSQL); -#endif } /* }}} */ Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c === --- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c 2010-05-18 11:36:54 UTC (rev 299447) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c 2010-05-18 11:50:31 UTC (rev 299448) @@ -1195,7 +1195,7 @@ } } #else - mysqlnd_fetch_into(result, MYSQLND_FETCH_ASSOC, return_value, MYSQLND_MYSQLI); + mysqlnd_fetch_into(result, ((fetchtype MYSQLI_NUM)? MYSQLND_FETCH_NUM:0) | ((fetchtype MYSQLI_ASSOC)? MYSQLND_FETCH_ASSOC:0), return_value, MYSQLND_MYSQLI); #endif if (into_object Z_TYPE_P(return_value) != IS_NULL) { Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c === --- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c 2010-05-18 11:36:54 UTC (rev 299447) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c 2010-05-18 11:50:31 UTC (rev 299448) @@ -1148,18 +1148,7 @@ Get a result row as an enumerated array */ PHP_FUNCTION(mysqli_fetch_row) { -#if !defined(MYSQLI_USE_MYSQLND) php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQLI_NUM, 0); -#else - MYSQL_RES *result; - zval *mysql_result; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), O, mysql_result, mysqli_result_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, mysql_result, mysqli_result, MYSQLI_STATUS_VALID); - mysqlnd_fetch_into(result, MYSQLND_FETCH_NUM, return_value, MYSQLND_MYSQLI); -#endif } /* }}} */ 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 2010-05-18 11:36:54 UTC (rev
Re: [PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_3/ext/mysql/php_mysql_structs.h branches/PHP_5_3/ext/mysqli/mysqli.c branches/PHP_5_3/ext/mysqli/mysqli_nonapi.
On Wed, Dec 9, 2009 at 9:21 PM, Andrey Hristov and...@php.net wrote: andrey Wed, 09 Dec 2009 20:21:05 + Revision: http://svn.php.net/viewvc?view=revisionrevision=291928 Log: Remove the zval caching from mysqlnd. It was disabled versions ago due to problems on windows, which were not debugged. Better have code that is disabled not in the core. For the record, it was only easier to catch on Windows but the problem was also on other platforms (Johannes reproduced it as well). Thanks for your work :) Cheers, -- Pierre http://blog.thepimp.net | http://www.libgd.org -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_3/ext/mysql/php_mysql_structs.h branches/PHP_5_3/ext/mysqli/mysqli.c branches/PHP_5_3/ext/mysqli/php_mysqli_structs.h
andrey Wed, 09 Dec 2009 20:38:11 + Revision: http://svn.php.net/viewvc?view=revisionrevision=291932 Log: Remove stub code which never actually was used for anything. Things like this can be built on top of the core. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql_structs.h U php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c U php/php-src/branches/PHP_5_3/ext/mysqli/php_mysqli_structs.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/config.w32 U php/php-src/branches/PHP_5_3/ext/mysqlnd/config9.m4 U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h D php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_qcache.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/php_mysql_structs.h U php/php-src/trunk/ext/mysqli/mysqli.c U php/php-src/trunk/ext/mysqli/php_mysqli_structs.h U php/php-src/trunk/ext/mysqlnd/config.w32 U php/php-src/trunk/ext/mysqlnd/config9.m4 U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd.h D php/php-src/trunk/ext/mysqlnd/mysqlnd_qcache.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2009-12-09 20:33:31 UTC (rev 291931) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2009-12-09 20:38:11 UTC (rev 291932) @@ -125,9 +125,6 @@ int multi_query; } php_mysql_conn; -#ifdef MYSQL_USE_MYSQLND -static MYSQLND_QCACHE *mysql_mysqlnd_qcache; -#endif #if MYSQL_VERSION_ID = 40101 #define MYSQL_DISABLE_MQ if (mysql-multi_query) { \ @@ -457,8 +454,6 @@ return FAILURE; } #endif -#else - mysql_mysqlnd_qcache = mysqlnd_qcache_init_cache(); #endif return SUCCESS; @@ -484,8 +479,6 @@ mysql_server_end(); #endif #endif -#else - mysqlnd_qcache_free_cache_reference(mysql_mysqlnd_qcache); #endif UNREGISTER_INI_ENTRIES(); Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql_structs.h 2009-12-09 20:33:31 UTC (rev 291931) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql_structs.h 2009-12-09 20:38:11 UTC (rev 291932) @@ -124,9 +124,6 @@ long result_allocated; long trace_mode; long allow_local_infile; -#ifdef MYSQL_USE_MYSQLND - MYSQLND_QCACHE *mysqlnd_qcache; -#endif ZEND_END_MODULE_GLOBALS(mysql) #ifdef ZTS Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c === --- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c 2009-12-09 20:33:31 UTC (rev 291931) +++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli.c 2009-12-09 20:38:11 UTC (rev 291932) @@ -73,11 +73,7 @@ zend_class_entry *mysqli_warning_class_entry; zend_class_entry *mysqli_exception_class_entry; -#ifdef MYSQLI_USE_MYSQLND -MYSQLND_QCACHE *mysqli_mysqlnd_qcache; -#endif - typedef int (*mysqli_read_t)(mysqli_object *obj, zval **retval TSRMLS_DC); typedef int (*mysqli_write_t)(mysqli_object *obj, zval *newval TSRMLS_DC); @@ -633,8 +629,6 @@ return FAILURE; } #endif -#else - mysqli_mysqlnd_qcache = mysqlnd_qcache_init_cache(); #endif memcpy(mysqli_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); @@ -872,8 +866,6 @@ mysql_server_end(); #endif #endif -#else - mysqlnd_qcache_free_cache_reference(mysqli_mysqlnd_qcache); #endif zend_hash_destroy(mysqli_driver_properties); Modified: php/php-src/branches/PHP_5_3/ext/mysqli/php_mysqli_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqli/php_mysqli_structs.h 2009-12-09 20:33:31 UTC (rev 291931) +++ php/php-src/branches/PHP_5_3/ext/mysqli/php_mysqli_structs.h 2009-12-09 20:38:11 UTC (rev 291932) @@ -196,10 +196,6 @@ extern zend_property_info mysqli_driver_property_info_entries[]; extern zend_property_info mysqli_warning_property_info_entries[]; -#ifdef MYSQLI_USE_MYSQLND -extern MYSQLND_QCACHE *mysqli_mysqlnd_qcache; -#endif - extern void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flag, int into_object); extern void php_clear_stmt_bind(MY_STMT *stmt TSRMLS_DC); extern void php_clear_mysql(MY_MYSQL *); Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/config.w32 === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/config.w32 2009-12-09 20:33:31 UTC (rev 291931) +++
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysql/php_mysql.c branches/PHP_5_3/ext/mysql/tests/mysql_fetch_array.phpt branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c trunk/ext/mysql/php_mysql.c tr
uw Wed, 30 Sep 2009 14:39:33 + Revision: http://svn.php.net/viewvc?view=revisionrevision=289004 Log: Fixing a leak in mysqlnd when passing invalid fetch modes to mysqlnd. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c U php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_fetch_array.phpt U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c U php/php-src/trunk/ext/mysql/php_mysql.c U php/php-src/trunk/ext/mysql/tests/mysql_fetch_array.phpt U php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c Modified: php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c === --- php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2009-09-30 14:34:32 UTC (rev 289003) +++ php/php-src/branches/PHP_5_3/ext/mysql/php_mysql.c 2009-09-30 14:39:33 UTC (rev 289004) @@ -1972,7 +1972,7 @@ } } - if ((result_type MYSQL_BOTH) == 0) { + if (result_type ~MYSQL_BOTH) { php_error_docref(NULL TSRMLS_CC, E_WARNING, The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH); result_type = MYSQL_BOTH; } @@ -2149,6 +2149,11 @@ } ZEND_FETCH_RESOURCE(result, MYSQL_RES *, mysql_result, -1, MySQL result, le_result); + if (mode ~MYSQL_BOTH) { +php_error_docref(NULL TSRMLS_CC, E_WARNING, The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH); +mode = MYSQL_BOTH; +} + mysqlnd_fetch_into(result, mode, return_value, MYSQLND_MYSQL); #endif } Modified: php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_fetch_array.phpt === --- php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_fetch_array.phpt 2009-09-30 14:34:32 UTC (rev 289003) +++ php/php-src/branches/PHP_5_3/ext/mysql/tests/mysql_fetch_array.phpt 2009-09-30 14:39:33 UTC (rev 289004) @@ -56,7 +56,7 @@ do { $illegal_mode = mt_rand(0, 1); } while (in_array($illegal_mode, array(MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH))); -$tmp = @mysql_fetch_array($res, $illegal_mode); +$tmp = mysql_fetch_array($res, $illegal_mode); if (!is_array($tmp)) printf([013] Expecting array, got %s/%s. [%d] %s\n, gettype($tmp), $tmp, mysql_errno($link), mysql_error($link)); @@ -355,5 +355,7 @@ %unicode|string%(1) 1 } +Warning: mysql_fetch_array(): The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH in %s on line %d + Warning: mysql_fetch_array(): %d is not a valid MySQL result resource in %s on line %d done! Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c 2009-09-30 14:34:32 UTC (rev 289003) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c 2009-09-30 14:39:33 UTC (rev 289004) @@ -901,13 +901,8 @@ lengths[i] = len; } - /* Forbid ZE to free it, we will clean it */ - Z_ADDREF_P(data); - - if ((flags MYSQLND_FETCH_BOTH) == MYSQLND_FETCH_BOTH) { - Z_ADDREF_P(data); - } if (flags MYSQLND_FETCH_NUM) { + Z_ADDREF_P(data); zend_hash_next_index_insert(row_ht, data, sizeof(zval *), NULL); } if (flags MYSQLND_FETCH_ASSOC) { @@ -918,6 +913,7 @@ the index is a numeric and convert it to it. This however means constant hashing of the column name, which is not needed as it can be precomputed. */ + Z_ADDREF_P(data); if (zend_hash_key-is_numeric == FALSE) { #if PHP_MAJOR_VERSION = 6 zend_u_hash_quick_update(Z_ARRVAL_P(row), IS_UNICODE, @@ -1128,16 +1124,8 @@ for (i = 0; i result-field_count; i++, field++, zend_hash_key++) { zval *data = current_row[i]; - /* - Let us later know what to do with this zval. If ref_count 1, we will just - decrease it, otherwise free it. zval_ptr_dtor() make this very easy job. - */ - Z_ADDREF_P(data); - - if ((flags MYSQLND_FETCH_BOTH) == MYSQLND_FETCH_BOTH) { - Z_ADDREF_P(data); - }