On Tue, Dec 15, 2020 at 10:00 PM Dmitry Stogov <dmitrysto...@gmail.com> wrote:
> Hi Nikita, > > ext/mysql is not a part of the main php source tree, but it still works > and is still useful. > Why do you kill it and why silently (may be I missed discussion)? > What is the motivation? > > Thanks. Dmitry. > I'm currently working on some larger refactorings in mysqlnd. I can update ext/mysql compatibility once I'm done. Nikita > On Tue, Dec 15, 2020 at 12:58 PM Nikita Popov <ni...@php.net> wrote: > >> Commit: 362c29241db872cf7eb030cef1148d47d3489be1 >> Author: Nikita Popov <nikita....@gmail.com> Tue, 15 Dec 2020 >> 10:55:53 +0100 >> Parents: be4f73f328f7aa85f1c893247b5007ce44445f2c >> Branches: master >> >> Link: >> http://git.php.net/?p=php-src.git;a=commitdiff;h=362c29241db872cf7eb030cef1148d47d3489be1 >> >> Log: >> Remove mysqlnd_extension enum >> >> ext/mysql is no longer supported, drop handling for it from >> mysqlnd. >> >> Changed paths: >> M ext/mysqli/mysqli.c >> M ext/mysqli/mysqli_warning.c >> M ext/mysqlnd/mysqlnd.h >> M ext/mysqlnd/mysqlnd_enum_n_def.h >> M ext/mysqlnd/mysqlnd_result.c >> M ext/mysqlnd/mysqlnd_structs.h >> >> >> Diff: >> diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c >> index cea4ba63946..50c5038f157 100644 >> --- a/ext/mysqli/mysqli.c >> +++ b/ext/mysqli/mysqli.c >> @@ -1130,7 +1130,7 @@ void php_mysqli_fetch_into_hash_aux(zval >> *return_value, MYSQL_RES * result, zend >> } >> } >> #else >> - mysqlnd_fetch_into(result, ((fetchtype & MYSQLI_NUM)? >> MYSQLND_FETCH_NUM:0) | ((fetchtype & MYSQLI_ASSOC)? MYSQLND_FETCH_ASSOC:0), >> return_value, MYSQLND_MYSQLI); >> + mysqlnd_fetch_into(result, ((fetchtype & MYSQLI_NUM)? >> MYSQLND_FETCH_NUM:0) | ((fetchtype & MYSQLI_ASSOC)? MYSQLND_FETCH_ASSOC:0), >> return_value); >> #endif >> } >> /* }}} */ >> diff --git a/ext/mysqli/mysqli_warning.c b/ext/mysqli/mysqli_warning.c >> index 7b1552e5ace..6dd7090911e 100644 >> --- a/ext/mysqli/mysqli_warning.c >> +++ b/ext/mysqli/mysqli_warning.c >> @@ -131,7 +131,7 @@ MYSQLI_WARNING * php_get_warnings(MYSQLND_CONN_DATA * >> mysql) >> zval *entry; >> int errno; >> >> - mysqlnd_fetch_into(result, MYSQLND_FETCH_NUM, &row, >> MYSQLND_MYSQLI); >> + mysqlnd_fetch_into(result, MYSQLND_FETCH_NUM, &row); >> if (Z_TYPE(row) != IS_ARRAY) { >> zval_ptr_dtor(&row); >> break; >> diff --git a/ext/mysqlnd/mysqlnd.h b/ext/mysqlnd/mysqlnd.h >> index bf3a9d640fa..b4d3d1f8c33 100644 >> --- a/ext/mysqlnd/mysqlnd.h >> +++ b/ext/mysqlnd/mysqlnd.h >> @@ -98,7 +98,7 @@ PHPAPI MYSQLND * mysqlnd_connection_connect(MYSQLND * >> conn, >> PHPAPI void mysqlnd_debug(const char *mode); >> >> /* Query */ >> -#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) >> (result)->m.fetch_into((result), (flags), (ret_val) 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_get_connection_stats(conn, values) >> ((conn)->data)->m->get_statistics((conn)->data, (values) >> ZEND_FILE_LINE_CC) >> diff --git a/ext/mysqlnd/mysqlnd_enum_n_def.h >> b/ext/mysqlnd/mysqlnd_enum_n_def.h >> index 161a3821bd2..191b8388b34 100644 >> --- a/ext/mysqlnd/mysqlnd_enum_n_def.h >> +++ b/ext/mysqlnd/mysqlnd_enum_n_def.h >> @@ -148,12 +148,6 @@ >> #define TRANS_COR_RELEASE 4 >> #define TRANS_COR_NO_RELEASE 8 >> >> -typedef enum mysqlnd_extension >> -{ >> - MYSQLND_MYSQL = 0, >> - MYSQLND_MYSQLI >> -} enum_mysqlnd_extension; >> - >> enum >> { >> MYSQLND_FETCH_ASSOC = 1, >> diff --git a/ext/mysqlnd/mysqlnd_result.c b/ext/mysqlnd/mysqlnd_result.c >> index bdeefd5d04d..f67f8bdcc17 100644 >> --- a/ext/mysqlnd/mysqlnd_result.c >> +++ b/ext/mysqlnd/mysqlnd_result.c >> @@ -1692,8 +1692,7 @@ MYSQLND_METHOD(mysqlnd_res, field_tell)(const >> MYSQLND_RES * const result) >> /* {{{ mysqlnd_res::fetch_into */ >> static void >> MYSQLND_METHOD(mysqlnd_res, fetch_into)(MYSQLND_RES * result, const >> unsigned int flags, >> - >> zval *return_value, >> - >> enum_mysqlnd_extension extension ZEND_FILE_LINE_DC) >> + >> zval *return_value ZEND_FILE_LINE_DC) >> { >> zend_bool fetched_anything; >> unsigned int array_size; >> @@ -1715,15 +1714,7 @@ MYSQLND_METHOD(mysqlnd_res, >> fetch_into)(MYSQLND_RES * result, const unsigned int >> RETVAL_FALSE; >> } else if (fetched_anything == FALSE) { >> zend_array_destroy(Z_ARR_P(return_value)); >> - switch (extension) { >> - case MYSQLND_MYSQLI: >> - RETVAL_NULL(); >> - break; >> - case MYSQLND_MYSQL: >> - RETVAL_FALSE; >> - break; >> - default:exit(0); >> - } >> + RETVAL_NULL(); >> } >> /* >> return_value is IS_NULL for no more data and an array for data. >> Thus it's ok >> @@ -1778,7 +1769,7 @@ MYSQLND_METHOD(mysqlnd_res, fetch_all)(MYSQLND_RES >> * result, const unsigned int >> array_init_size(return_value, set? (unsigned int) set->row_count >> : 4); >> >> do { >> - mysqlnd_fetch_into(result, flags, &row, MYSQLND_MYSQLI); >> + mysqlnd_fetch_into(result, flags, &row); >> if (Z_TYPE(row) != IS_ARRAY) { >> zval_ptr_dtor_nogc(&row); >> break; >> diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h >> index f8562432aee..f992f70baf4 100644 >> --- a/ext/mysqlnd/mysqlnd_structs.h >> +++ b/ext/mysqlnd/mysqlnd_structs.h >> @@ -641,7 +641,7 @@ typedef enum_func_status >> (*func_mysqlnd_res__row_decoder)(MYSQLND_ROW_BUFFER * r >> >> typedef MYSQLND_RES * >> (*func_mysqlnd_res__use_result)(MYSQLND_RES * const result, const zend_bool >> ps_protocol); >> typedef MYSQLND_RES * >> (*func_mysqlnd_res__store_result)(MYSQLND_RES * result, MYSQLND_CONN_DATA * >> const conn, const unsigned int flags); >> -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 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 uint64_t >> (*func_mysqlnd_res__num_rows)(const MYSQLND_RES * const result); >> >> >> -- >> PHP CVS Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >>