summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <dlenev@mysql.com>2005-12-08 00:18:37 +0300
committerunknown <dlenev@mysql.com>2005-12-08 00:18:37 +0300
commit4d87cf984dde6ca1ae91375375481dfada3d0c85 (patch)
tree7b4dcfd806aab2de52a0285765e22ac49051bbec
parent3b3034edc3c82e1f4a23dd9406466c71c1787ca3 (diff)
parente30b5c7852d445fa0178cc40513a720ac31d399f (diff)
downloadmariadb-git-4d87cf984dde6ca1ae91375375481dfada3d0c85.tar.gz
Merge mysql.com:/home/dlenev/src/mysql-5.0-relfix
into mysql.com:/home/dlenev/src/mysql-5.0-merges sql/sql_parse.cc: Auto merged
-rw-r--r--sql-common/client.c2
-rw-r--r--tests/mysql_client_test.c35
2 files changed, 36 insertions, 1 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index 976d59d83a4..4c2debd41ff 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -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;
}
@@ -2484,7 +2485,6 @@ get_info:
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);
}
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index ce732690700..f794ac893ae 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -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
*/
@@ -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 }
};