]> granicus.if.org Git - php/commitdiff
Update MySQLi function info
authorMáté Kocsis <kocsismate@woohoolabs.com>
Wed, 26 Feb 2020 19:30:40 +0000 (20:30 +0100)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 28 Feb 2020 13:36:54 +0000 (14:36 +0100)
Closes GH-5214

ext/mysqli/mysqli.stub.php
ext/mysqli/mysqli_arginfo.h
ext/opcache/Optimizer/zend_func_info.c

index 6df17ec47fd8595eccca40cc19fa45f98ac54706..31cc7e648918b2ff9088ea0c9fa3cb08f4d926f3 100644 (file)
@@ -91,7 +91,7 @@ class mysqli
     /** @return mysqli_result|bool */
     public function query(string $query, int $resultmode = MYSQLI_STORE_RESULT);
 
-    /** @return mysqli|bool */
+    /** @return bool */
     public function real_connect(
         ?string $host = null,
         ?string $user = null,
@@ -422,7 +422,7 @@ function mysqli_real_connect(
     ?string $database = null,
     ?int $port = null,
     int $flags = 0
-): mysqli|bool {}
+): bool {}
 
 function mysqli_real_escape_string(mysqli $mysqli_link, string $string_to_escape): string {}
 
index a6abfc45ce30e2d3fa75087d65d482f823a5a73f..e20a7ed9829113b51705bd2dc48cb3df586b4b2c 100644 (file)
@@ -480,7 +480,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_query, 0, 2, mysqli_r
        ZEND_ARG_TYPE_INFO(0, resultmode, IS_LONG, 0)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_real_connect, 0, 1, mysqli, MAY_BE_BOOL)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_real_connect, 0, 1, _IS_BOOL, 0)
        ZEND_ARG_OBJ_INFO(0, mysqli_link, mysqli, 0)
        ZEND_ARG_TYPE_INFO(0, host, IS_STRING, 1)
        ZEND_ARG_TYPE_INFO(0, user, IS_STRING, 1)
index b57e5e65eff5168c0abb60d5255f4241bf69f13a..477f46adf169f3fcd2ab24fd412dd9aa45716d32 100644 (file)
@@ -458,104 +458,54 @@ static const func_info_t func_infos[] = {
 
        /* ext/mysqli */
        F1("mysqli_connect",                                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_close",                                                      MAY_BE_NULL | MAY_BE_TRUE),
+       F0("mysqli_close",                                                      MAY_BE_TRUE),
        F1("mysqli_connect_error",                                      MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_connect_errno",                                      MAY_BE_LONG),
        F1("mysqli_get_client_stats",                           MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_STRING),
-       F1("mysqli_error_list",                                         MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ARRAY),
-       F1("mysqli_get_links_stats",                            MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_LONG),
-       F1("mysqli_query",                                                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_OBJECT),
-       F0("mysqli_multi_query",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_set_charset",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
+       F1("mysqli_error_list",                                         MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ARRAY),
+       F1("mysqli_get_links_stats",                            MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_LONG),
+       F1("mysqli_query",                                                      MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_OBJECT),
        F1("mysqli_get_charset",                                        MAY_BE_NULL | MAY_BE_OBJECT),
-       F0("mysqli_begin_transaction",                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_savepoint",                                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_release_savepoint",                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F1("mysqli_fetch_array",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY),
-       F1("mysqli_fetch_assoc",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
-       F1("mysqli_fetch_all",                                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY),
-       F1("mysqli_fetch_object",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_free_result",                                        MAY_BE_NULL),
-       F1("mysqli_affected_rows",                                      MAY_BE_NULL | MAY_BE_LONG | MAY_BE_STRING),
-       F0("mysqli_autocommit",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_bind_param",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_bind_result",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_change_user",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
+       F1("mysqli_fetch_assoc",                                        MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
+       F1("mysqli_fetch_all",                                          MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY),
+       F1("mysqli_fetch_object",                                       MAY_BE_NULL | MAY_BE_OBJECT),
+       F1("mysqli_affected_rows",                                      MAY_BE_LONG | MAY_BE_STRING),
        F1("mysqli_character_set_name",                         MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_commit",                                                     MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_data_seek",                                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_debug",                                                      MAY_BE_NULL | MAY_BE_TRUE),
-       F0("mysqli_dump_debug_info",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_errno",                                                      MAY_BE_NULL | MAY_BE_LONG),
+       F0("mysqli_debug",                                                      MAY_BE_TRUE),
        F1("mysqli_error",                                                      MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_stmt_execute",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_poll",                                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
-       F1("mysqli_reap_async_query",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_OBJECT),
-       F1("mysqli_stmt_get_result",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F1("mysqli_get_warnings",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F1("mysqli_stmt_error_list",                            MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ARRAY),
-       F1("mysqli_stmt_get_warnings",                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_stmt_fetch",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_fetch_field",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F1("mysqli_fetch_fields",                                       MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_OBJECT),
-       F1("mysqli_fetch_field_direct",                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F1("mysqli_fetch_lengths",                                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_LONG),
-       F1("mysqli_fetch_row",                                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ANY),
-       F0("mysqli_field_count",                                        MAY_BE_NULL | MAY_BE_LONG),
-       F0("mysqli_field_seek",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_field_tell",                                         MAY_BE_NULL | MAY_BE_LONG),
-       F1("mysqli_get_client_info",                            MAY_BE_STRING),
-       F0("mysqli_get_client_version",                         MAY_BE_LONG),
-       F1("mysqli_get_host_info",                                      MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_get_proto_info",                                     MAY_BE_NULL | MAY_BE_LONG),
-       F1("mysqli_get_server_info",                            MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_get_server_version",                         MAY_BE_NULL | MAY_BE_LONG),
+       F1("mysqli_reap_async_query",                           MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_OBJECT),
+       F1("mysqli_stmt_get_result",                            MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_get_warnings",                                       MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_stmt_error_list",                            MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ARRAY),
+       F1("mysqli_stmt_get_warnings",                          MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_fetch_field",                                        MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_fetch_fields",                                       MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_OBJECT),
+       F1("mysqli_fetch_field_direct",                         MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_fetch_lengths",                                      MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_LONG),
+       F1("mysqli_fetch_row",                                          MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ANY),
+       F1("mysqli_get_client_info",                            MAY_BE_NULL | MAY_BE_STRING),
+       F1("mysqli_get_host_info",                                      MAY_BE_STRING),
+       F1("mysqli_get_server_info",                            MAY_BE_STRING),
        F1("mysqli_info",                                                       MAY_BE_NULL | MAY_BE_STRING),
        F1("mysqli_init",                                                       MAY_BE_FALSE | MAY_BE_OBJECT),
-       F1("mysqli_insert_id",                                          MAY_BE_NULL | MAY_BE_LONG | MAY_BE_STRING),
-       F0("mysqli_kill",                                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_more_results",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_next_result",                                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_more_results",                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_next_result",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_num_fields",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
-       F1("mysqli_num_rows",                                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_STRING),
-       F0("mysqli_options",                                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_ping",                                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_prepare",                                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_real_connect",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_real_query",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_real_escape_string",                         MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_rollback",                                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_send_long_data",                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_stmt_affected_rows",                         MAY_BE_NULL | MAY_BE_LONG | MAY_BE_STRING),
-       F0("mysqli_stmt_close",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
+       F1("mysqli_insert_id",                                          MAY_BE_LONG | MAY_BE_STRING),
+       F1("mysqli_num_rows",                                           MAY_BE_LONG | MAY_BE_STRING),
+       F1("mysqli_prepare",                                            MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_real_escape_string",                         MAY_BE_STRING),
+       F1("mysqli_stmt_affected_rows",                         MAY_BE_LONG | MAY_BE_STRING),
        F0("mysqli_stmt_data_seek",                                     MAY_BE_NULL | MAY_BE_FALSE),
-       F0("mysqli_stmt_field_count",                           MAY_BE_NULL | MAY_BE_LONG),
-       F0("mysqli_stmt_free_result",                           MAY_BE_NULL),
-       F1("mysqli_stmt_insert_id",                                     MAY_BE_NULL | MAY_BE_LONG | MAY_BE_STRING),
-       F0("mysqli_stmt_param_count",                           MAY_BE_NULL | MAY_BE_LONG),
-       F0("mysqli_stmt_reset",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_stmt_num_rows",                                      MAY_BE_NULL | MAY_BE_LONG | MAY_BE_STRING),
-       F0("mysqli_select_db",                                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
+       F1("mysqli_stmt_insert_id",                                     MAY_BE_LONG | MAY_BE_STRING),
+       F1("mysqli_stmt_num_rows",                                      MAY_BE_LONG | MAY_BE_STRING),
+       F0("mysqli_select_db",                                          MAY_BE_FALSE | MAY_BE_TRUE),
        F1("mysqli_sqlstate",                                           MAY_BE_NULL | MAY_BE_STRING),
-       F0("mysqli_ssl_set",                                            MAY_BE_NULL | MAY_BE_TRUE),
-       F1("mysqli_stat",                                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F0("mysqli_refresh",                                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_attr_set",                                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("mysqli_stmt_attr_get",                                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
-       F0("mysqli_stmt_errno",                                         MAY_BE_NULL | MAY_BE_LONG),
+       F0("mysqli_ssl_set",                                            MAY_BE_TRUE),
+       F1("mysqli_stat",                                                       MAY_BE_FALSE | MAY_BE_STRING),
        F1("mysqli_stmt_error",                                         MAY_BE_NULL | MAY_BE_STRING),
-       F1("mysqli_stmt_init",                                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_stmt_prepare",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_stmt_result_metadata",                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_stmt_store_result",                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
+       F1("mysqli_stmt_init",                                          MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_stmt_result_metadata",                       MAY_BE_FALSE | MAY_BE_OBJECT),
        F1("mysqli_stmt_sqlstate",                                      MAY_BE_NULL | MAY_BE_STRING),
-       F1("mysqli_store_result",                                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_thread_id",                                          MAY_BE_NULL | MAY_BE_LONG),
-       F0("mysqli_thread_safe",                                        MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("mysqli_use_result",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("mysqli_warning_count",                                      MAY_BE_NULL | MAY_BE_LONG),
+       F1("mysqli_store_result",                                       MAY_BE_FALSE | MAY_BE_OBJECT),
+       F1("mysqli_use_result",                                         MAY_BE_FALSE | MAY_BE_OBJECT),
 
        /* ext/curl */
        F1("curl_init",                             MAY_BE_FALSE | MAY_BE_RESOURCE),