diff options
author | jimw@mysql.com <> | 2005-12-06 15:50:03 -0800 |
---|---|---|
committer | jimw@mysql.com <> | 2005-12-06 15:50:03 -0800 |
commit | e228b4394610ac63a3224b8eb3490daaf330b2b6 (patch) | |
tree | 372274c153c285b5eaef5b85f3447d2e160bc7dc /tests | |
parent | adc8051c7197a93dbc2e8e46d49f1fe4aead543b (diff) | |
download | mariadb-git-e228b4394610ac63a3224b8eb3490daaf330b2b6.tar.gz |
Fix value returned by mysql_warning_count() after fetching a prepared
statement that generated a warning. (Bug #15510)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/mysql_client_test.c | 35 |
1 files changed, 35 insertions, 0 deletions
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 } }; |