Commit 69ede4d9 authored by unknown's avatar unknown
Browse files

Bug#16143 mysql_stmt_sqlstate returns an empty string instead of '00000'

 - Init sql_state in mysql_stmt_init


libmysql/libmysql.c:
  Init sql_state to not_error_sql_state in mysql_init
tests/mysql_client_test.c:
  Add test for mysql_stmt_sqlstate after mysql_stmt_init
parent 86c920ba
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);
+16 −0
Original line number Diff line number Diff line
@@ -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 }