Commit d5620961 authored by Davi Arnaut's avatar Davi Arnaut

Bug#38486: Crash when using cursor protocol

Post-merge fix: mysql_client_test.c is compiled by C compilers
and some C compilers don't support mixed declarations and code
and it's explicitly forbidden by ISO C90.
parent e087c05d
...@@ -16196,25 +16196,28 @@ static void test_bug32265() ...@@ -16196,25 +16196,28 @@ static void test_bug32265()
static void test_bug38486(void) static void test_bug38486(void)
{ {
myheader("test_bug38486"); MYSQL_STMT *stmt;
const char *stmt_text;
MYSQL_STMT *stmt; unsigned long type= CURSOR_TYPE_READ_ONLY;
stmt= mysql_stmt_init(mysql);
unsigned long type= CURSOR_TYPE_READ_ONLY; DBUG_ENTER("test_bug38486");
mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*)&type); myheader("test_bug38486");
const char *sql= "CREATE TABLE t1 (a INT)";
mysql_stmt_prepare(stmt,sql,strlen(sql)); stmt= mysql_stmt_init(mysql);
mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*)&type);
mysql_stmt_execute(stmt); stmt_text= "CREATE TABLE t1 (a INT)";
mysql_stmt_close(stmt); mysql_stmt_prepare(stmt, stmt_text, strlen(stmt_text));
mysql_stmt_execute(stmt);
stmt= mysql_stmt_init(mysql); mysql_stmt_close(stmt);
mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*)&type);
const char *sql2= "INSERT INTO t1 VALUES (1)"; stmt= mysql_stmt_init(mysql);
mysql_stmt_prepare(stmt,sql2,strlen(sql2)); mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*)&type);
mysql_stmt_execute(stmt); stmt_text= "INSERT INTO t1 VALUES (1)";
mysql_stmt_prepare(stmt, stmt_text, strlen(stmt_text));
mysql_stmt_close(stmt); mysql_stmt_execute(stmt);
mysql_stmt_close(stmt);
DBUG_VOID_RETURN;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment