]> granicus.if.org Git - php/commitdiff
MySQLnd: Drop free_result_internal
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 15 Dec 2020 11:29:15 +0000 (12:29 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 15 Dec 2020 11:35:58 +0000 (12:35 +0100)
Merge it into free_result. There is a large number of different
free_* functions for result sets, let's avoid having one more.
Only difference is that it does not increment stats, and that
seems like a bug as free_stmt_result is still freeing a result.

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

index ba6085fce4e165f57843a4f8608b5ae698d405a5..b12892f72200e1e6bdfa14c39c195e5cd31add6c 100644 (file)
@@ -1982,7 +1982,7 @@ MYSQLND_METHOD(mysqlnd_stmt, free_stmt_result)(MYSQLND_STMT * const s)
        mysqlnd_stmt_separate_result_bind(s);
        /* Not every statement has a result set attached */
        if (stmt->result) {
-               stmt->result->m.free_result_internal(stmt->result);
+               stmt->result->m.free_result(stmt->result, /* implicit */ TRUE);
                stmt->result = NULL;
        }
        zend_llist_clean(&stmt->error_info->error_list);
index af042030ce6e5518ea9899b51428bbcd0a3c70dd..a9300a8304da441bfe506e9da1fdb750b11d479f 100644 (file)
@@ -301,20 +301,6 @@ void MYSQLND_METHOD(mysqlnd_res, free_result_contents_internal)(MYSQLND_RES * re
 /* }}} */
 
 
-/* {{{ mysqlnd_res::free_result_internal */
-static
-void MYSQLND_METHOD(mysqlnd_res, free_result_internal)(MYSQLND_RES * result)
-{
-       DBG_ENTER("mysqlnd_res::free_result_internal");
-
-       result->m.skip_result(result);
-       result->m.free_result_contents(result);
-
-       DBG_VOID_RETURN;
-}
-/* }}} */
-
-
 /* {{{ mysqlnd_res::read_result_metadata */
 static enum_func_status
 MYSQLND_METHOD(mysqlnd_res, read_result_metadata)(MYSQLND_RES * result, MYSQLND_CONN_DATA * conn)
@@ -1361,7 +1347,7 @@ MYSQLND_METHOD(mysqlnd_res, store_result)(MYSQLND_RES * result,
        DBG_ENTER("mysqlnd_res::store_result");
 
        /* We need the conn because we are doing lazy zval initialization in buffered_fetch_row */
-       /* In case of error the reference will be released in free_result_internal() called indirectly by our caller */
+       /* In case of error the reference will be released in free_result() called indirectly by our caller */
        result->conn = conn->m->get_reference(conn);
        result->type = MYSQLND_RES_NORMAL;
 
@@ -1460,7 +1446,8 @@ MYSQLND_METHOD(mysqlnd_res, free_result)(MYSQLND_RES * result, const zend_bool i
                                                           implicit == TRUE?    STAT_FREE_RESULT_IMPLICIT:
                                                                                                        STAT_FREE_RESULT_EXPLICIT);
 
-       result->m.free_result_internal(result);
+       result->m.skip_result(result);
+       result->m.free_result_contents(result);
        DBG_RETURN(PASS);
 }
 /* }}} */
@@ -1786,7 +1773,6 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_res)
        MYSQLND_METHOD(mysqlnd_res, store_result_fetch_data),
        MYSQLND_METHOD(mysqlnd_res, free_result_buffers),
        MYSQLND_METHOD(mysqlnd_res, free_result),
-       MYSQLND_METHOD(mysqlnd_res, free_result_internal),
        MYSQLND_METHOD(mysqlnd_res, free_result_contents_internal),
        mysqlnd_result_meta_init,
        NULL, /* unused1 */
index f992f70baf45dfac7c3a4a0fa1bb5226bc750f63..da67a7e502f3cec2d059d7aff1c3d684d7525a3e 100644 (file)
@@ -660,7 +660,6 @@ typedef enum_func_status    (*func_mysqlnd_res__store_result_fetch_data)(MYSQLND_CO
 
 typedef void                           (*func_mysqlnd_res__free_result_buffers)(MYSQLND_RES * result); /* private */
 typedef enum_func_status       (*func_mysqlnd_res__free_result)(MYSQLND_RES * result, const zend_bool implicit);
-typedef void                           (*func_mysqlnd_res__free_result_internal)(MYSQLND_RES *result);
 typedef void                           (*func_mysqlnd_res__free_result_contents)(MYSQLND_RES *result);
 typedef void                           (*func_mysqlnd_res__free_buffered_data)(MYSQLND_RES *result);
 typedef void                           (*func_mysqlnd_res__unbuffered_free_last_data)(MYSQLND_RES *result);
@@ -691,7 +690,6 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res)
        func_mysqlnd_res__store_result_fetch_data store_result_fetch_data;
        func_mysqlnd_res__free_result_buffers free_result_buffers;
        func_mysqlnd_res__free_result free_result;
-       func_mysqlnd_res__free_result_internal free_result_internal;
        func_mysqlnd_res__free_result_contents free_result_contents;
 
        func_mysqlnd_res__result_meta_init result_meta_init;