diff options
-rw-r--r-- | libmysql/libmysql.c | 1 | ||||
-rw-r--r-- | tests/mysql_client_test.c | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 9825f1ecdfa..3ff4cfb4c50 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -2008,6 +2008,7 @@ mysql_stmt_init(MYSQL *mysql) stmt->mysql= mysql; stmt->read_row_func= stmt_read_row_no_result_set; stmt->prefetch_rows= DEFAULT_PREFETCH_ROWS; + strmov(stmt->sqlstate, not_error_sqlstate); /* The rest of statement members was bzeroed inside malloc */ DBUG_RETURN(stmt); diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 666c60391da..241a994d07c 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -14729,6 +14729,21 @@ static void test_bug12744() client_connect(0); } +/* Bug #16143: mysql_stmt_sqlstate returns an empty string instead of '00000' */ + +static void test_bug16143() +{ + MYSQL_STMT *stmt; + myheader("test_bug16143"); + + stmt= mysql_stmt_init(mysql); + /* Check mysql_stmt_sqlstate return "no error" */ + DIE_UNLESS(strcmp(mysql_stmt_sqlstate(stmt), "00000") == 0); + + mysql_stmt_close(stmt); +} + + /* Bug #16144: mysql_stmt_attr_get type error */ static void test_bug16144() @@ -15073,6 +15088,7 @@ static struct my_tests_st my_tests[]= { { "test_bug15510", test_bug15510 }, { "test_opt_reconnect", test_opt_reconnect }, { "test_bug12744", test_bug12744 }, + { "test_bug16143", test_bug16143 }, { "test_bug16144", test_bug16144 }, { "test_bug15613", test_bug15613 }, { 0, 0 } |