]> granicus.if.org Git - php/commitdiff
MySQLnd: Remove unused fetch_field_data method
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 15 Dec 2020 09:47:39 +0000 (10:47 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 15 Dec 2020 09:47:39 +0000 (10:47 +0100)
This method is not used, and is implemented in a very dubious
way.

ext/mysqlnd/mysqlnd.h
ext/mysqlnd/mysqlnd_result.c
ext/mysqlnd/mysqlnd_structs.h

index 8010f43380dd1c27a93120daa0adbaec766d611c..bf3a9d640fa37828b4d3036895e449cca3366a52 100644 (file)
@@ -101,7 +101,6 @@ PHPAPI void mysqlnd_debug(const char *mode);
 #define mysqlnd_fetch_into(result, flags, ret_val, ext)        (result)->m.fetch_into((result), (flags), (ret_val), (ext) ZEND_FILE_LINE_CC)
 #define mysqlnd_fetch_row_c(result)                                            (result)->m.fetch_row_c((result))
 #define mysqlnd_fetch_all(result, flags, return_value) (result)->m.fetch_all((result), (flags), (return_value) ZEND_FILE_LINE_CC)
-#define mysqlnd_result_fetch_field_data(res,offset,ret)        (res)->m.fetch_field_data((res), (offset), (ret))
 #define mysqlnd_get_connection_stats(conn, values)             ((conn)->data)->m->get_statistics((conn)->data,  (values) ZEND_FILE_LINE_CC)
 #define mysqlnd_get_client_stats(values)                               _mysqlnd_get_client_stats(mysqlnd_global_stats, (values) ZEND_FILE_LINE_CC)
 
index 3dd09939acfd3617c5d1911b76377a8db625d4b3..bdeefd5d04d828380c349df2d2dbfccbb50e5cfb 100644 (file)
@@ -1791,42 +1791,6 @@ MYSQLND_METHOD(mysqlnd_res, fetch_all)(MYSQLND_RES * result, const unsigned int
 /* }}} */
 
 
-/* {{{ mysqlnd_res::fetch_field_data */
-static void
-MYSQLND_METHOD(mysqlnd_res, fetch_field_data)(MYSQLND_RES * result, const unsigned int offset, zval *return_value)
-{
-       zval row;
-       zval *entry;
-       unsigned int i = 0;
-
-       DBG_ENTER("mysqlnd_res::fetch_field_data");
-       DBG_INF_FMT("offset=%u", offset);
-       /*
-         Hint Zend how many elements we will have in the hash. Thus it won't
-         extend and rehash the hash constantly.
-       */
-       mysqlnd_fetch_into(result, MYSQLND_FETCH_NUM, &row, MYSQLND_MYSQL);
-       if (Z_TYPE(row) != IS_ARRAY) {
-               zval_ptr_dtor_nogc(&row);
-               RETVAL_NULL();
-               DBG_VOID_RETURN;
-       }
-
-       zend_hash_internal_pointer_reset(Z_ARRVAL(row));
-       while (i++ < offset) {
-               zend_hash_move_forward(Z_ARRVAL(row));
-       }
-
-       entry = zend_hash_get_current_data(Z_ARRVAL(row));
-
-       ZVAL_COPY(return_value, entry);
-       zval_ptr_dtor_nogc(&row);
-
-       DBG_VOID_RETURN;
-}
-/* }}} */
-
-
 MYSQLND_CLASS_METHODS_START(mysqlnd_res)
        MYSQLND_METHOD(mysqlnd_res, fetch_row),
        MYSQLND_METHOD(mysqlnd_res, use_result),
@@ -1834,7 +1798,6 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_res)
        MYSQLND_METHOD(mysqlnd_res, fetch_into),
        MYSQLND_METHOD(mysqlnd_res, fetch_row_c),
        MYSQLND_METHOD(mysqlnd_res, fetch_all),
-       MYSQLND_METHOD(mysqlnd_res, fetch_field_data),
        MYSQLND_METHOD(mysqlnd_res, num_rows),
        MYSQLND_METHOD(mysqlnd_res, num_fields),
        MYSQLND_METHOD(mysqlnd_res, skip_result),
index f5a873ddd34cf6b2da53a93860b6d446f469af71..f8562432aee50000a884c8dd311fd7afbee5c15f 100644 (file)
@@ -644,7 +644,6 @@ typedef MYSQLND_RES *               (*func_mysqlnd_res__store_result)(MYSQLND_RES * result, M
 typedef void                           (*func_mysqlnd_res__fetch_into)(MYSQLND_RES *result, const unsigned int flags, zval *return_value, enum_mysqlnd_extension ext ZEND_FILE_LINE_DC);
 typedef MYSQLND_ROW_C          (*func_mysqlnd_res__fetch_row_c)(MYSQLND_RES *result);
 typedef void                           (*func_mysqlnd_res__fetch_all)(MYSQLND_RES *result, const unsigned int flags, zval *return_value ZEND_FILE_LINE_DC);
-typedef void                           (*func_mysqlnd_res__fetch_field_data)(MYSQLND_RES *result, const unsigned int offset, zval *return_value);
 typedef uint64_t                       (*func_mysqlnd_res__num_rows)(const MYSQLND_RES * const result);
 typedef unsigned int           (*func_mysqlnd_res__num_fields)(const MYSQLND_RES * const result);
 typedef enum_func_status       (*func_mysqlnd_res__skip_result)(MYSQLND_RES * const result);
@@ -678,7 +677,6 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res)
        func_mysqlnd_res__fetch_into fetch_into;
        func_mysqlnd_res__fetch_row_c fetch_row_c;
        func_mysqlnd_res__fetch_all fetch_all;
-       func_mysqlnd_res__fetch_field_data fetch_field_data;
        func_mysqlnd_res__num_rows num_rows;
        func_mysqlnd_res__num_fields num_fields;
        func_mysqlnd_res__skip_result skip_result;