[PHP-CVS] svn: /php/php-src/trunk/ext/mysql/ php_mysql.c

2011-01-25 Thread Ulf Wendel
uw   Tue, 25 Jan 2011 12:51:29 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=307730

Log:
Always bail about deprecation, make warning visible. It is documented to be 
deprecated in the 5.3 manual but the deprecation warning was tied to 
trace_mode=1 (as of 2002 or the like).

Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2011-01-25 12:39:39 UTC (rev 
307729)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2011-01-25 12:51:29 UTC (rev 
307730)
@@ -1806,9 +1806,7 @@
Z_STRLEN_P(return_value) = 
mysql_escape_string(Z_STRVAL_P(return_value), str, str_len);
Z_TYPE_P(return_value) = IS_STRING;

-   if (MySG(trace_mode)){
-   php_error_docref(function.mysql-real-escape-string TSRMLS_CC, 
E_DEPRECATED, This function is deprecated; use mysql_real_escape_string() 
instead.);
-   }
+   php_error_docref(function.mysql-real-escape-string TSRMLS_CC, 
E_DEPRECATED, This function is deprecated; use mysql_real_escape_string() 
instead.);
 }
 /* }}} */


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/trunk/ext/mysql/ php_mysql.c

2011-01-14 Thread Andrey Hristov
andrey   Fri, 14 Jan 2011 20:02:49 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=307492

Log:
merge from branch

Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2011-01-14 19:34:55 UTC (rev 
307491)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2011-01-14 20:02:49 UTC (rev 
307492)
@@ -762,6 +762,7 @@
}
if (!passwd) {
passwd = MySG(default_password);
+   passwd_len = passwd? strlen(passwd):0;
}

/* disable local infile option for open_basedir */
@@ -848,7 +849,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 */
@@ -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/trunk/ext/mysql/ php_mysql.c tests/mysql_db_name.phpt tests/mysql_list_dbs.phpt

2010-08-17 Thread Andrey Hristov
andrey   Tue, 17 Aug 2010 15:37:44 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=302392

Log:
Deprecate mysql_list_dbs, as mysql_list_tables is already deprecated.
As well as mysql_list

Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c
U   php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt
U   php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2010-08-17 15:15:35 UTC (rev 
302391)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-08-17 15:37:44 UTC (rev 
302392)
@@ -1575,11 +1575,13 @@
id = 
php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
CHECK_LINK(id);
}
+   php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, This function is 
deprecated; use mysql_query() with SHOW DATABASES instead);

ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, 
MySQL-Link, le_link, le_plink);

PHPMY_UNBUFFERED_QUERY_CHECK();

+
if ((mysql_result=mysql_list_dbs(mysql-conn, NULL))==NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to save 
MySQL query result);
RETURN_FALSE;

Modified: php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt
===
--- php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt2010-08-17 
15:15:35 UTC (rev 302391)
+++ php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt2010-08-17 
15:37:44 UTC (rev 302392)
@@ -58,6 +58,8 @@
 print done!\n;
 ?
 --EXPECTF--
+Deprecated: mysql_list_dbs(): This function is deprecated; use mysql_query() 
with SHOW DATABASES instead in %s on line %d
+
 Warning: mysql_db_name(): Unable to jump to row -1 on MySQL result index %d in 
%s on line %d

 Warning: mysql_db_name(): Unable to jump to row %d on MySQL result index %d in 
%s on line %d

Modified: php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt
===
--- php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt   2010-08-17 
15:15:35 UTC (rev 302391)
+++ php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt   2010-08-17 
15:37:44 UTC (rev 302392)
@@ -51,4 +51,7 @@
 require_once(clean_table.inc);
 ?
 --EXPECTF--
+Deprecated: mysql_list_dbs(): This function is deprecated; use mysql_query() 
with SHOW DATABASES instead in %s on line %d
+
+Deprecated: mysql_list_dbs(): This function is deprecated; use mysql_query() 
with SHOW DATABASES instead in %s on line %d
 done!

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/trunk/ext/mysql/ php_mysql.c tests/mysql_db_name.phpt tests/mysql_list_dbs.phpt

2010-08-17 Thread Andrey Hristov
andrey   Tue, 17 Aug 2010 17:40:31 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=302395

Log:
Use PHP_DEP_FE - good for reflection

Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c
U   php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt
U   php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2010-08-17 17:14:33 UTC (rev 
302394)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-08-17 17:40:31 UTC (rev 
302395)
@@ -251,8 +251,8 @@
 #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_FE(mysql_list_dbs,  
arginfo__optional_mysql_link)
+   PHP_DEP_FE(mysql_db_query,  
arginfo_mysql_db_query)
+   PHP_DEP_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_FE(mysql_list_processes,
arginfo__optional_mysql_link)

Modified: php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt
===
--- php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt2010-08-17 
17:14:33 UTC (rev 302394)
+++ php/php-src/trunk/ext/mysql/tests/mysql_db_name.phpt2010-08-17 
17:40:31 UTC (rev 302395)
@@ -58,6 +58,8 @@
 print done!\n;
 ?
 --EXPECTF--
+Deprecated: Function mysql_list_dbs() is deprecated in %s on line %d
+
 Deprecated: mysql_list_dbs(): This function is deprecated; use mysql_query() 
with SHOW DATABASES instead in %s on line %d

 Warning: mysql_db_name(): Unable to jump to row -1 on MySQL result index %d in 
%s on line %d

Modified: php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt
===
--- php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt   2010-08-17 
17:14:33 UTC (rev 302394)
+++ php/php-src/trunk/ext/mysql/tests/mysql_list_dbs.phpt   2010-08-17 
17:40:31 UTC (rev 302395)
@@ -51,6 +51,8 @@
 require_once(clean_table.inc);
 ?
 --EXPECTF--
+Deprecated: Function mysql_list_dbs() is deprecated in %s on line 15
+
 Deprecated: mysql_list_dbs(): This function is deprecated; use mysql_query() 
with SHOW DATABASES instead in %s on line %d

 Deprecated: mysql_list_dbs(): This function is deprecated; use mysql_query() 
with SHOW DATABASES instead in %s on line %d

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/trunk/ext/mysql/ php_mysql.c

2010-05-18 Thread Andrey Hristov
andrey   Tue, 18 May 2010 16:35:17 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=299457

Log:
And I thought I fixed that...
Part of the previous changeset - remove duplicated code/
The ifdefs were for debug purposes.

Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2010-05-18 15:18:32 UTC (rev 
299456)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2010-05-18 16:35:17 UTC (rev 
299457)
@@ -2071,19 +2071,7 @@
Gets a result row as an enumerated array */
 PHP_FUNCTION(mysql_fetch_row)
 {
-#if 1
-   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)
 {
-#if 1
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0, 2, 0);
-#else
-   MYSQL_RES   *result;
-   zval*mysql_result;
-   longmode = 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)
 {
-#if 1
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
 }
 /* }}} */


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/trunk/ext/mysql/ php_mysql.c tests/bug48754.phpt

2009-09-18 Thread Andrey Hristov
andrey   Fri, 18 Sep 2009 10:46:51 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=288436

Log:
Fix for bug#48754 mysql_close() crash php when no handle specified

Bug: http://bugs.php.net/48754 (Verified) mysql_close() crash php when no 
handle specified
  
Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c
A   php/php-src/trunk/ext/mysql/tests/bug48754.phpt

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2009-09-18 09:10:47 UTC (rev 
288435)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2009-09-18 10:46:51 UTC (rev 
288436)
@@ -1001,6 +1001,7 @@
Close a MySQL connection */
 PHP_FUNCTION(mysql_close)
 {
+   int resource_id;
zval *mysql_link=NULL;
php_mysql_conn *mysql;

@@ -1014,16 +1015,25 @@
ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, NULL, 
MySG(default_link), MySQL-Link, le_link, le_plink);
}

-   if (mysql_link) { /* explicit resource number */
-   PHPMY_UNBUFFERED_QUERY_CHECK();
-   zend_list_delete(Z_RESVAL_P(mysql_link));
+   resource_id = mysql_link ? Z_RESVAL_P(mysql_link) : MySG(default_link);
+   PHPMY_UNBUFFERED_QUERY_CHECK();
+#ifdef MYSQL_USE_MYSQLND
+   {
+   int tmp;
+   if ((mysql = zend_list_find(resource_id, tmp))  tmp == 
le_plink) {
+   mysqlnd_end_psession(mysql-conn);
+   }
}
+#endif
+   zend_list_delete(resource_id);

if (!mysql_link
|| (mysql_link  Z_RESVAL_P(mysql_link)==MySG(default_link))) {
-   PHPMY_UNBUFFERED_QUERY_CHECK();
-   zend_list_delete(MySG(default_link));
MySG(default_link) = -1;
+   if (mysql_link) {
+   /* on an explicit close of the default connection it 
had a refcount of 2 so we need one more call */
+   zend_list_delete(resource_id);
+   }
}

RETURN_TRUE;

Added: php/php-src/trunk/ext/mysql/tests/bug48754.phpt
===
--- php/php-src/trunk/ext/mysql/tests/bug48754.phpt 
(rev 0)
+++ php/php-src/trunk/ext/mysql/tests/bug48754.phpt 2009-09-18 10:46:51 UTC 
(rev 288436)
@@ -0,0 +1,92 @@
+--TEST--
+Bug #48754 (mysql_close() crash php when no handle specified)
+--SKIPIF--
+?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?
+--FILE--
+?php
+require_once('connect.inc');
+
+function my_mysql_pconnect($host, $user, $passwd, $db, $port, $socket) {
+   if ($socket)
+   $host = sprintf(%s:%s, $host, $socket);
+   else if ($port)
+   $host = sprintf(%s:%s, $host, $port);
+
+   if (!$link = mysql_pconnect($host, $user, $passwd, true)) {
+   printf([000-a] Cannot connect using host '%s', user '%s', 
password '', [%d] %s\n,
+   $host, $user, $passwd,
+   mysql_errno(), mysql_error());
+   return false;
+   }
+   return $link;
+}
+
+echo Explicit connection on close\n;
+$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket);
+$link1_thread_id = mysql_thread_id($link);
+$default1_thread_id = mysql_thread_id();
+echo 'Expect same thread id for $link and default conn: ';
+var_dump($link1_thread_id == $default1_thread_id);
+var_dump($link);
+mysql_close($link);
+var_dump($link);
+
+// we sohuld have no default link anymore
+mysql_close();
+
+echo \nClosing default link\n;
+$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket);
+$link2_thread_id = mysql_thread_id($link);
+$default2_thread_id = mysql_thread_id();
+echo 'Expect same thread id for $link and default conn but not the previous: ';
+var_dump($link1_thread_id == $default1_thread_id  $link1_thread_id != 
$link2_thread_id);
+var_dump($link);
+mysql_close();
+var_dump($link);
+mysql_close($link);
+var_dump($link);
+
+echo \nExplicit resource and pconnect\n;
+$link = my_mysql_pconnect($host, $user, $passwd, $db, $port, $socket);
+var_dump($link);
+mysql_close($link);
+var_dump($link);
+
+// we sohuld have no default link
+mysql_close();
+
+echo \nDefault link and pconnect\n;
+$link = my_mysql_pconnect($host, $user, $passwd, $db, $port, $socket);
+var_dump($link);
+mysql_close();
+var_dump($link);
+mysql_close($link);
+var_dump($link);
+?
+--EXPECTF--
+Explicit connection on close
+Expect same thread id for $link and default conn: bool(true)
+resource(%d) of type (mysql link)
+resource(%d) of type (Unknown)
+
+Warning: mysql_close(): no MySQL-Link resource supplied in %s on line %d
+
+Closing default link
+Expect same thread id for $link and default conn but not the previous: 
bool(true)
+resource(%d) of type (mysql link)
+resource(%d) of type (mysql link)
+resource(%d) of type 

[PHP-CVS] svn: /php/php-src/trunk/ext/mysql/ php_mysql.c

2009-07-28 Thread Ilia Alshanetsky
iliaaTue, 28 Jul 2009 12:26:16 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=286451

Log:
Fixed compiler warning

Changed paths:
U   php/php-src/trunk/ext/mysql/php_mysql.c

Modified: php/php-src/trunk/ext/mysql/php_mysql.c
===
--- php/php-src/trunk/ext/mysql/php_mysql.c 2009-07-28 11:22:26 UTC (rev 
286450)
+++ php/php-src/trunk/ext/mysql/php_mysql.c 2009-07-28 12:26:16 UTC (rev 
286451)
@@ -625,7 +625,7 @@
int hashed_details_length, port = MYSQL_PORT;
long client_flags = 0;
php_mysql_conn *mysql=NULL;
-#if !defined(MYSQL_USE_MYSQLND)  !defined(MYSQL_HASH_SET_CHARSET)
+#if !defined(MYSQL_USE_MYSQLND)  !defined(MYSQL_HAS_SET_CHARSET)
char *encoding;
 #endif
 #if MYSQL_VERSION_ID = 32230

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php