Loading sql-common/client.c +1 −1 Original line number Diff line number Diff line Loading @@ -715,6 +715,7 @@ void free_old_query(MYSQL *mysql) init_alloc_root(&mysql->field_alloc,8192,0); /* Assume rowlength < 8192 */ mysql->fields= 0; mysql->field_count= 0; /* For API */ mysql->warning_count= 0; mysql->info= 0; DBUG_VOID_RETURN; } Loading Loading @@ -2484,7 +2485,6 @@ static my_bool cli_read_query_result(MYSQL *mysql) DBUG_RETURN(1); mysql->status= MYSQL_STATUS_GET_RESULT; mysql->field_count= (uint) field_count; mysql->warning_count= 0; DBUG_PRINT("exit",("ok")); DBUG_RETURN(0); } Loading tests/mysql_client_test.c +35 −0 Original line number Diff line number Diff line Loading @@ -14590,6 +14590,40 @@ static void test_bug14845() myquery(rc); } /* Bug #15510: mysql_warning_count returns 0 after mysql_stmt_fetch which should warn */ static void test_bug15510() { MYSQL_STMT *stmt; MYSQL_RES *res; int rc; const char *query= "select 1 from dual where 1/0"; myheader("test_bug15510"); rc= mysql_query(mysql, "set @@sql_mode='ERROR_FOR_DIVISION_BY_ZERO'"); myquery(rc); stmt= mysql_stmt_init(mysql); rc= mysql_stmt_prepare(stmt, query, strlen(query)); check_execute(stmt, rc); rc= mysql_stmt_execute(stmt); check_execute(stmt, rc); rc= mysql_stmt_fetch(stmt); DIE_UNLESS(mysql_warning_count(mysql)); /* Cleanup */ mysql_stmt_close(stmt); rc= mysql_query(mysql, "set @@sql_mode=''"); myquery(rc); } /* Read and parse arguments and MySQL options from my.cnf */ Loading Loading @@ -14849,6 +14883,7 @@ static struct my_tests_st my_tests[]= { { "test_bug13488", test_bug13488 }, { "test_bug13524", test_bug13524 }, { "test_bug14845", test_bug14845 }, { "test_bug15510", test_bug15510}, { 0, 0 } }; Loading Loading
sql-common/client.c +1 −1 Original line number Diff line number Diff line Loading @@ -715,6 +715,7 @@ void free_old_query(MYSQL *mysql) init_alloc_root(&mysql->field_alloc,8192,0); /* Assume rowlength < 8192 */ mysql->fields= 0; mysql->field_count= 0; /* For API */ mysql->warning_count= 0; mysql->info= 0; DBUG_VOID_RETURN; } Loading Loading @@ -2484,7 +2485,6 @@ static my_bool cli_read_query_result(MYSQL *mysql) DBUG_RETURN(1); mysql->status= MYSQL_STATUS_GET_RESULT; mysql->field_count= (uint) field_count; mysql->warning_count= 0; DBUG_PRINT("exit",("ok")); DBUG_RETURN(0); } Loading
tests/mysql_client_test.c +35 −0 Original line number Diff line number Diff line Loading @@ -14590,6 +14590,40 @@ static void test_bug14845() myquery(rc); } /* Bug #15510: mysql_warning_count returns 0 after mysql_stmt_fetch which should warn */ static void test_bug15510() { MYSQL_STMT *stmt; MYSQL_RES *res; int rc; const char *query= "select 1 from dual where 1/0"; myheader("test_bug15510"); rc= mysql_query(mysql, "set @@sql_mode='ERROR_FOR_DIVISION_BY_ZERO'"); myquery(rc); stmt= mysql_stmt_init(mysql); rc= mysql_stmt_prepare(stmt, query, strlen(query)); check_execute(stmt, rc); rc= mysql_stmt_execute(stmt); check_execute(stmt, rc); rc= mysql_stmt_fetch(stmt); DIE_UNLESS(mysql_warning_count(mysql)); /* Cleanup */ mysql_stmt_close(stmt); rc= mysql_query(mysql, "set @@sql_mode=''"); myquery(rc); } /* Read and parse arguments and MySQL options from my.cnf */ Loading Loading @@ -14849,6 +14883,7 @@ static struct my_tests_st my_tests[]= { { "test_bug13488", test_bug13488 }, { "test_bug13524", test_bug13524 }, { "test_bug14845", test_bug14845 }, { "test_bug15510", test_bug15510}, { 0, 0 } }; Loading