diff --git a/include/mysql.h b/include/mysql.h index 612c7c84aa6..82badb99694 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -516,12 +516,9 @@ typedef struct st_mysql_stmt MYSQL_FIELD *fields; /* prepare meta info */ LIST list; /* list to keep track of all stmts */ char *query; /* query buffer */ - char *buffer; /* buffer to hold results */ MEM_ROOT mem_root; /* root allocations */ - MYSQL_RES tmp_result; /* Used by mysql_prepare_result */ unsigned long param_count; /* parameters count */ unsigned long field_count; /* fields count */ - unsigned long buffer_length; /* long buffer alloced length */ unsigned long stmt_id; /* Id for prepared statement */ unsigned int last_errno; /* error code */ enum PREP_STMT_STATE state; /* statement state */ @@ -552,6 +549,7 @@ my_bool STDCALL mysql_send_long_data(MYSQL_STMT *stmt, const char *data, unsigned long length); MYSQL_RES *STDCALL mysql_prepare_result(MYSQL_STMT *stmt); +MYSQL_RES *STDCALL mysql_param_result(MYSQL_STMT *stmt); my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt); int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt); my_bool STDCALL mysql_more_results(MYSQL *mysql); diff --git a/tests/client_test.c b/tests/client_test.c index 409bbcfdd56..c7ac4a8aeb7 100644 --- a/tests/client_test.c +++ b/tests/client_test.c @@ -4967,11 +4967,28 @@ static void test_pure_coverage() stmt = mysql_prepare(mysql,"insert into test_pure(c67788) values(10)",100); mystmt_init_r(stmt); +#ifndef DBUG_OFF + stmt = mysql_prepare(mysql,(const char *)0,0); + mystmt_init_r(stmt); + + stmt = mysql_prepare(mysql,"insert into test_pure(c2) values(10)",100); + mystmt_init(stmt); + + verify_param_count(stmt, 0); + + rc = mysql_bind_param(stmt, bind); + mystmt_r(stmt, rc); + + mysql_stmt_close(stmt); +#endif + stmt = mysql_prepare(mysql,"insert into test_pure(c2) values(?)",100); mystmt_init(stmt); +#ifndef DBUG_OFF rc = mysql_execute(stmt); mystmt_r(stmt, rc);/* No parameters supplied */ +#endif bind[0].length= &length; bind[0].is_null= 0; @@ -4999,6 +5016,11 @@ static void test_pure_coverage() rc = mysql_execute(stmt); mystmt(stmt, rc); +#ifndef DBUG_OFF + rc = mysql_bind_result(stmt, (MYSQL_BIND *)0); + mystmt_r(stmt, rc); +#endif + rc = mysql_stmt_store_result(stmt); mystmt(stmt, rc);