MySQLnd: Remove unused fetch_field_data method

This method is not used, and is implemented in a very dubious
way.
This commit is contained in:
Nikita Popov 2020-12-15 10:47:39 +01:00
parent 36ff92e6fb
commit be4f73f328
3 changed files with 0 additions and 40 deletions

View 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_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_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_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_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) #define mysqlnd_get_client_stats(values) _mysqlnd_get_client_stats(mysqlnd_global_stats, (values) ZEND_FILE_LINE_CC)

View 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_CLASS_METHODS_START(mysqlnd_res)
MYSQLND_METHOD(mysqlnd_res, fetch_row), MYSQLND_METHOD(mysqlnd_res, fetch_row),
MYSQLND_METHOD(mysqlnd_res, use_result), 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_into),
MYSQLND_METHOD(mysqlnd_res, fetch_row_c), MYSQLND_METHOD(mysqlnd_res, fetch_row_c),
MYSQLND_METHOD(mysqlnd_res, fetch_all), MYSQLND_METHOD(mysqlnd_res, fetch_all),
MYSQLND_METHOD(mysqlnd_res, fetch_field_data),
MYSQLND_METHOD(mysqlnd_res, num_rows), MYSQLND_METHOD(mysqlnd_res, num_rows),
MYSQLND_METHOD(mysqlnd_res, num_fields), MYSQLND_METHOD(mysqlnd_res, num_fields),
MYSQLND_METHOD(mysqlnd_res, skip_result), MYSQLND_METHOD(mysqlnd_res, skip_result),

View 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 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 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_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 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 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); 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_into fetch_into;
func_mysqlnd_res__fetch_row_c fetch_row_c; func_mysqlnd_res__fetch_row_c fetch_row_c;
func_mysqlnd_res__fetch_all fetch_all; 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_rows num_rows;
func_mysqlnd_res__num_fields num_fields; func_mysqlnd_res__num_fields num_fields;
func_mysqlnd_res__skip_result skip_result; func_mysqlnd_res__skip_result skip_result;