Commit:    e7fc671dc0ad335cba9ff2a564387612e32b68e1
Author:    ULF WENDEL <u...@php.net>         Tue, 23 Oct 2012 12:02:58 +0200
Parents:   84ab603fc783689f38c6d0047d85a3c7bb031ae4
Branches:  master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=e7fc671dc0ad335cba9ff2a564387612e32b68e1

Log:
Deprecating undocumented function alias, related to bug #63295

Bugs:
https://bugs.php.net/63295

Changed paths:
  M  ext/mysql/php_mysql.c
  A  ext/mysql/tests/mysql_reflection_extension.phpt
  A  ext/mysql/tests/mysql_reflection_functions.phpt

diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index d6a0c94..f1aab94 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -297,27 +297,27 @@ static const zend_function_entry mysql_functions[] = {
        PHP_FE(mysql_set_charset,                                               
        arginfo_mysql_set_charset)
 #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)
-       PHP_FALIAS(mysql_fieldtable,    mysql_field_table,      
arginfo_mysql_field_seek)
-       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,        
arginfo_mysql_select_db)
+       PHP_DEP_FALIAS(mysql,                           mysql_db_query,         
arginfo_mysql_db_query)
+       PHP_DEP_FALIAS(mysql_fieldname,         mysql_field_name,       
arginfo_mysql_field_name)
+       PHP_DEP_FALIAS(mysql_fieldtable,        mysql_field_table,      
arginfo_mysql_field_seek)
+       PHP_DEP_FALIAS(mysql_fieldlen,          mysql_field_len,        
arginfo_mysql_field_seek)
+       PHP_DEP_FALIAS(mysql_fieldtype,         mysql_field_type,       
arginfo_mysql_field_seek)
+       PHP_DEP_FALIAS(mysql_fieldflags,        mysql_field_flags,      
arginfo_mysql_field_seek)
+       PHP_DEP_FALIAS(mysql_selectdb,          mysql_select_db,        
arginfo_mysql_select_db)
 #ifndef NETWARE                /* The below two functions not supported on 
NetWare */
 #if MYSQL_VERSION_ID < 40000
        PHP_DEP_FALIAS(mysql_createdb,  mysql_create_db,        
arginfo_mysql_select_db)
        PHP_DEP_FALIAS(mysql_dropdb,    mysql_drop_db,          
arginfo_mysql_select_db)
 #endif
 #endif /* NETWARE */
-       PHP_FALIAS(mysql_freeresult,    mysql_free_result,      
arginfo__result_mysql_arg)
-       PHP_FALIAS(mysql_numfields,             mysql_num_fields,       
arginfo__result_mysql_arg)
-       PHP_FALIAS(mysql_numrows,               mysql_num_rows,         
arginfo__result_mysql_arg)
-       PHP_FALIAS(mysql_listdbs,               mysql_list_dbs,         
arginfo__optional_mysql_link)
+       PHP_DEP_FALIAS(mysql_freeresult,        mysql_free_result,      
arginfo__result_mysql_arg)
+       PHP_DEP_FALIAS(mysql_numfields,         mysql_num_fields,       
arginfo__result_mysql_arg)
+       PHP_DEP_FALIAS(mysql_numrows,           mysql_num_rows,         
arginfo__result_mysql_arg)
+       PHP_DEP_FALIAS(mysql_listdbs,           mysql_list_dbs,         
arginfo__optional_mysql_link)
        PHP_DEP_FALIAS(mysql_listtables,mysql_list_tables,      
arginfo_mysql_select_db)
-       PHP_FALIAS(mysql_listfields,    mysql_list_fields,      
arginfo_mysql_list_fields)
+       PHP_DEP_FALIAS(mysql_listfields,        mysql_list_fields,      
arginfo_mysql_list_fields)
        PHP_FALIAS(mysql_db_name,               mysql_result,           
arginfo_mysql_result)
-       PHP_FALIAS(mysql_dbname,                mysql_result,           
arginfo_mysql_result)
+       PHP_DEP_FALIAS(mysql_dbname,            mysql_result,           
arginfo_mysql_result)
        PHP_FALIAS(mysql_tablename,             mysql_result,           
arginfo_mysql_result)
        PHP_FALIAS(mysql_table_name,    mysql_result,           
arginfo_mysql_result)
        PHP_FE_END
@@ -1989,16 +1989,16 @@ Q: String or long first?
        if (sql_row[field_offset]) {
                Z_TYPE_P(return_value) = IS_STRING;
 
-#if PHP_API_VERSION < 20100412         
+#if PHP_API_VERSION < 20100412
                if (PG(magic_quotes_runtime)) {
                        Z_STRVAL_P(return_value) = 
php_addslashes(sql_row[field_offset], 
sql_row_lengths[field_offset],&Z_STRLEN_P(return_value), 0 TSRMLS_CC);
                } else {
-#endif                 
+#endif
                        Z_STRLEN_P(return_value) = 
sql_row_lengths[field_offset];
                        Z_STRVAL_P(return_value) = (char *) 
safe_estrndup(sql_row[field_offset], Z_STRLEN_P(return_value));
 #if PHP_API_VERSION < 20100412
                }
-#endif         
+#endif
        } else {
                Z_TYPE_P(return_value) = IS_NULL;
        }
@@ -2116,16 +2116,16 @@ static void 
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, long result_type,
 
                        MAKE_STD_ZVAL(data);
 
-#if PHP_API_VERSION < 20100412                 
+#if PHP_API_VERSION < 20100412
                        if (PG(magic_quotes_runtime)) {
                                Z_TYPE_P(data) = IS_STRING;
                                Z_STRVAL_P(data) = php_addslashes(mysql_row[i], 
mysql_row_lengths[i], &Z_STRLEN_P(data), 0 TSRMLS_CC);
                        } else {
-#endif                                 
+#endif
                                ZVAL_STRINGL(data, mysql_row[i], 
mysql_row_lengths[i], 1);
-#if PHP_API_VERSION < 20100412                         
+#if PHP_API_VERSION < 20100412
                        }
-#endif                 
+#endif
 
                        if (result_type & MYSQL_NUM) {
                                add_index_zval(return_value, i, data);
diff --git a/ext/mysql/tests/mysql_reflection_extension.phpt 
b/ext/mysql/tests/mysql_reflection_extension.phpt
new file mode 100644
index 0000000..169036c
--- /dev/null
+++ b/ext/mysql/tests/mysql_reflection_extension.phpt
@@ -0,0 +1,105 @@
+--TEST--
+ReflectionExtension basics to check API
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+?>
+--FILE--
+<?php
+       $r = new ReflectionExtension("mysql");
+
+       printf("Name: %s\n", $r->name);
+       printf("Version: %s\n", $r->getVersion());
+       $classes = $r->getClasses();
+       if (!empty($classes)) {
+               printf("[002] Expecting no class\n");
+               asort($classes);
+               var_dump($classes);
+       }
+
+       $ignore = array();
+
+       $functions = $r->getFunctions();
+       asort($functions);
+       printf("Functions:\n");
+       foreach ($functions as $func) {
+               if (isset($ignore[$func->name])) {
+                       unset($ignore[$func->name]);
+               } else {
+                       printf("  %s\n", $func->name);
+               }
+       }
+       if (!empty($ignore)) {
+               printf("Dumping version dependent and missing functions\n");
+               var_dump($ignore);
+       }
+
+
+       print "done!";
+?>
+--EXPECTF--
+Name: mysql
+Version: 1.0
+Functions:
+  mysql
+  mysql_affected_rows
+  mysql_client_encoding
+  mysql_close
+  mysql_connect
+  mysql_data_seek
+  mysql_db_name
+  mysql_db_query
+  mysql_dbname
+  mysql_errno
+  mysql_error
+  mysql_escape_string
+  mysql_fetch_array
+  mysql_fetch_assoc
+  mysql_fetch_field
+  mysql_fetch_lengths
+  mysql_fetch_object
+  mysql_fetch_row
+  mysql_field_flags
+  mysql_field_len
+  mysql_field_name
+  mysql_field_seek
+  mysql_field_table
+  mysql_field_type
+  mysql_fieldflags
+  mysql_fieldlen
+  mysql_fieldname
+  mysql_fieldtable
+  mysql_fieldtype
+  mysql_free_result
+  mysql_freeresult
+  mysql_get_client_info
+  mysql_get_host_info
+  mysql_get_proto_info
+  mysql_get_server_info
+  mysql_info
+  mysql_insert_id
+  mysql_list_dbs
+  mysql_list_fields
+  mysql_list_processes
+  mysql_list_tables
+  mysql_listdbs
+  mysql_listfields
+  mysql_listtables
+  mysql_num_fields
+  mysql_num_rows
+  mysql_numfields
+  mysql_numrows
+  mysql_pconnect
+  mysql_ping
+  mysql_query
+  mysql_real_escape_string
+  mysql_result
+  mysql_select_db
+  mysql_selectdb
+  mysql_set_charset
+  mysql_stat
+  mysql_table_name
+  mysql_tablename
+  mysql_thread_id
+  mysql_unbuffered_query
+done!
\ No newline at end of file
diff --git a/ext/mysql/tests/mysql_reflection_functions.phpt 
b/ext/mysql/tests/mysql_reflection_functions.phpt
new file mode 100644
index 0000000..4f2710d
--- /dev/null
+++ b/ext/mysql/tests/mysql_reflection_functions.phpt
@@ -0,0 +1,387 @@
+--TEST--
+ReflectionFunction to check API
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+?>
+--FILE--
+<?php
+       $r = new ReflectionExtension("mysql");
+
+       $ignore = array();
+
+       $functions = $r->getFunctions();
+       asort($functions);
+       printf("Functions:\n");
+       foreach ($functions as $func) {
+               if (isset($ignore[$func->name]))
+                       continue;
+
+               printf("  %s\n", $func->name);
+               $rf = new ReflectionFunction($func->name);
+               printf("    Deprecated: %s\n", $rf->isDeprecated() ? "yes" : 
"no");
+               printf("    Accepted parameters: %d\n", 
$rf->getNumberOfParameters());
+               printf("    Required parameters: %d\n", 
$rf->getNumberOfRequiredParameters());
+               foreach( $rf->getParameters() as $param ) {
+                       printf("      %s\n", $param);
+               }
+       }
+
+       print "done!";
+?>
+--EXPECTF--
+Functions:
+  mysql
+    Deprecated: yes
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <required> $query ]
+      Parameter #2 [ <optional> $link_identifier ]
+  mysql_affected_rows
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_client_encoding
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_close
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_connect
+    Deprecated: no
+    Accepted parameters: 5
+    Required parameters: 0
+      Parameter #0 [ <optional> $hostname ]
+      Parameter #1 [ <optional> $username ]
+      Parameter #2 [ <optional> $password ]
+      Parameter #3 [ <optional> $new ]
+      Parameter #4 [ <optional> $flags ]
+  mysql_data_seek
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $row_number ]
+  mysql_db_name
+    Deprecated: no
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $row ]
+      Parameter #2 [ <optional> $field ]
+  mysql_db_query
+    Deprecated: yes
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <required> $query ]
+      Parameter #2 [ <optional> $link_identifier ]
+  mysql_dbname
+    Deprecated: yes
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $row ]
+      Parameter #2 [ <optional> $field ]
+  mysql_errno
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_error
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_escape_string
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $string ]
+  mysql_fetch_array
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <optional> $result_type ]
+  mysql_fetch_assoc
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_fetch_field
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <optional> $field_offset ]
+  mysql_fetch_lengths
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_fetch_object
+    Deprecated: no
+    Accepted parameters: 3
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <optional> $class_name ]
+      Parameter #2 [ <optional> $ctor_params ]
+  mysql_fetch_row
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_field_flags
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_field_len
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_field_name
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_index ]
+  mysql_field_seek
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_field_table
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_field_type
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_fieldflags
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_fieldlen
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_fieldname
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_index ]
+  mysql_fieldtable
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_fieldtype
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $field_offset ]
+  mysql_free_result
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_freeresult
+    Deprecated: yes
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_get_client_info
+    Deprecated: no
+    Accepted parameters: 0
+    Required parameters: 0
+  mysql_get_host_info
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_get_proto_info
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_get_server_info
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_info
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_insert_id
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_list_dbs
+    Deprecated: yes
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_list_fields
+    Deprecated: no
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <required> $table_name ]
+      Parameter #2 [ <optional> $link_identifier ]
+  mysql_list_processes
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_list_tables
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_listdbs
+    Deprecated: yes
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_listfields
+    Deprecated: yes
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <required> $table_name ]
+      Parameter #2 [ <optional> $link_identifier ]
+  mysql_listtables
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_num_fields
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_num_rows
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_numfields
+    Deprecated: yes
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_numrows
+    Deprecated: yes
+    Accepted parameters: 1
+    Required parameters: 1
+      Parameter #0 [ <required> $result ]
+  mysql_pconnect
+    Deprecated: no
+    Accepted parameters: 4
+    Required parameters: 0
+      Parameter #0 [ <optional> $hostname ]
+      Parameter #1 [ <optional> $username ]
+      Parameter #2 [ <optional> $password ]
+      Parameter #3 [ <optional> $flags ]
+  mysql_ping
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_query
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $query ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_real_escape_string
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $string ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_result
+    Deprecated: no
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $row ]
+      Parameter #2 [ <optional> $field ]
+  mysql_select_db
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_selectdb
+    Deprecated: yes
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $database_name ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_set_charset
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $charset_name ]
+      Parameter #1 [ <optional> $link_identifier ]
+  mysql_stat
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_table_name
+    Deprecated: no
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $row ]
+      Parameter #2 [ <optional> $field ]
+  mysql_tablename
+    Deprecated: no
+    Accepted parameters: 3
+    Required parameters: 2
+      Parameter #0 [ <required> $result ]
+      Parameter #1 [ <required> $row ]
+      Parameter #2 [ <optional> $field ]
+  mysql_thread_id
+    Deprecated: no
+    Accepted parameters: 1
+    Required parameters: 0
+      Parameter #0 [ <optional> $link_identifier ]
+  mysql_unbuffered_query
+    Deprecated: no
+    Accepted parameters: 2
+    Required parameters: 1
+      Parameter #0 [ <required> $query ]
+      Parameter #1 [ <optional> $link_identifier ]
+done!
\ No newline at end of file
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to