Commit e5fa4ec36a5 for php.net
commit e5fa4ec36a55b2da83d04e600de9dc8dc38b8951
Author: Kamil Tekiela <tekiela246@gmail.com>
Date: Tue May 5 21:02:02 2026 +0100
ext/mysqlnd: Use iterated struct and remove dulicate SET_AFFECTED_ROWS (#21713)
diff --git a/ext/mysqlnd/mysqlnd_result.c b/ext/mysqlnd/mysqlnd_result.c
index 1d43946f41d..bce57b0ab05 100644
--- a/ext/mysqlnd/mysqlnd_result.c
+++ b/ext/mysqlnd/mysqlnd_result.c
@@ -720,9 +720,6 @@ MYSQLND_METHOD(mysqlnd_res, store_result_fetch_data)(MYSQLND_CONN_DATA * const c
if (ret == FAIL) {
COPY_CLIENT_ERROR(&set->error_info, row_packet.error_info);
- } else {
- /* libmysql's documentation says it should be so for SELECT statements */
- UPSERT_STATUS_SET_AFFECTED_ROWS(conn->upsert_status, set->row_count);
}
DBG_INF_FMT("ret=%s row_count=%u warnings=%u server_status=%u",
ret == PASS? "PASS":"FAIL",
@@ -1002,18 +999,11 @@ MYSQLND_METHOD(mysqlnd_res, fetch_into)(MYSQLND_RES * result, const unsigned int
}
}
if (flags & MYSQLND_FETCH_ASSOC) {
- /* zend_hash_quick_update needs length + trailing zero */
- /* QQ: Error handling ? */
- /*
- zend_hash_quick_update does not check, as add_assoc_zval_ex do, whether
- the index is a numeric and convert it to it. This however means constant
- hashing of the column name, which is not needed as it can be precomputed.
- */
Z_TRY_ADDREF_P(data);
- if (meta->fields[i].is_numeric == FALSE) {
- zend_hash_update(row_ht, meta->fields[i].sname, data);
+ if (field->is_numeric == FALSE) {
+ zend_hash_update(row_ht, field->sname, data);
} else {
- zend_hash_index_update(row_ht, meta->fields[i].num_key, data);
+ zend_hash_index_update(row_ht, field->num_key, data);
}
}