From a073b0218cd9a894299600f82cfc3bfe8297a31d Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 9 Dec 2020 16:03:52 +0100 Subject: [PATCH 1/2] Add ifdef for mysqlnd only function --- ext/pdo_mysql/mysql_statement.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 85aabc40d07..68bfcd4eb4c 100644 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -154,6 +154,7 @@ static int pdo_mysql_fill_stmt_from_result(pdo_stmt_t *stmt) /* {{{ */ } /* }}} */ +#ifdef PDO_USE_MYSQLND static bool pdo_mysql_stmt_after_execute_prepared(pdo_stmt_t *stmt) { pdo_mysql_stmt *S = stmt->driver_data; pdo_mysql_db_handle *H = S->H; @@ -179,6 +180,7 @@ static bool pdo_mysql_stmt_after_execute_prepared(pdo_stmt_t *stmt) { pdo_mysql_stmt_set_row_count(stmt); return true; } +#endif #ifndef PDO_USE_MYSQLND static int pdo_mysql_stmt_execute_prepared_libmysql(pdo_stmt_t *stmt) /* {{{ */ From ef342b0730d15e2e38ab527659fd0091023854e9 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 9 Dec 2020 16:02:49 +0100 Subject: [PATCH 2/2] Remove unnecessary more_results() checks Just calling next_result() is sufficient. --- ext/pdo_mysql/mysql_statement.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 68bfcd4eb4c..1752b7f8a93 100644 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -363,9 +363,6 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt) /* {{{ */ #ifdef PDO_USE_MYSQLND if (!H->emulate_prepare) { - if (!mysqlnd_stmt_more_results(S->stmt)) { - PDO_DBG_RETURN(0); - } if (mysqlnd_stmt_next_result(S->stmt)) { pdo_mysql_error_stmt(stmt); PDO_DBG_RETURN(0); @@ -375,25 +372,12 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt) /* {{{ */ } #endif - if (!mysql_more_results(H->server)) { - /* No more results */ - PDO_DBG_RETURN(0); - } -#ifdef PDO_USE_MYSQLND - if (mysql_next_result(H->server) == FAIL) { + if (mysql_next_result(H->server)) { pdo_mysql_error_stmt(stmt); PDO_DBG_RETURN(0); } else { PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt)); } -#else - if (mysql_next_result(H->server) > 0) { - pdo_mysql_error_stmt(stmt); - PDO_DBG_RETURN(0); - } else { - PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt)); - } -#endif } /* }}} */