Commit d5620961 authored by Davi Arnaut's avatar Davi Arnaut
Browse files

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
Loading
Loading
Loading
Loading
+22 −19
Original line number Diff line number Diff line
@@ -16196,25 +16196,28 @@ static void test_bug32265()

static void test_bug38486(void)
{
  MYSQL_STMT *stmt;
  const char *stmt_text;
  unsigned long type= CURSOR_TYPE_READ_ONLY;

  DBUG_ENTER("test_bug38486");
  myheader("test_bug38486");

    MYSQL_STMT *stmt;
  stmt= mysql_stmt_init(mysql);
    unsigned long type= CURSOR_TYPE_READ_ONLY;
  mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*)&type);
    const char *sql= "CREATE TABLE t1 (a INT)";
    mysql_stmt_prepare(stmt,sql,strlen(sql));
    
  stmt_text= "CREATE TABLE t1 (a INT)";
  mysql_stmt_prepare(stmt, stmt_text, strlen(stmt_text));
  mysql_stmt_execute(stmt);
  mysql_stmt_close(stmt);

  stmt= mysql_stmt_init(mysql);
  mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*)&type);
    const char *sql2= "INSERT INTO t1 VALUES (1)";
    mysql_stmt_prepare(stmt,sql2,strlen(sql2));
  stmt_text= "INSERT INTO t1 VALUES (1)";
  mysql_stmt_prepare(stmt, stmt_text, strlen(stmt_text));
  mysql_stmt_execute(stmt);
    
  mysql_stmt_close(stmt);

  DBUG_VOID_RETURN;
}