Commit 98bc2348 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/kostja/work/mysql-4.1-root

into mysql.com:/home/kostja/work/mysql-5.0-root


libmysql/libmysql.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
parents bebba958 a26ce94f
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -1809,6 +1809,18 @@ static my_bool my_realloc_str(NET *net, ulong length)
}


/* Clear possible error statee of struct NET */

static void net_clear_error(NET *net)
{
  if (net->last_errno)
  {
    net->last_errno= 0;
    net->last_error[0]= '\0';
    strmov(net->sqlstate, not_error_sqlstate);
  }
}

/*
  Set statement error code, sqlstate, and error message
  from given errcode and sqlstate.
@@ -4869,6 +4881,11 @@ my_bool STDCALL mysql_stmt_close(MYSQL_STMT *stmt)

      if (mysql->unbuffered_fetch_owner == &stmt->unbuffered_fetch_cancelled)
        mysql->unbuffered_fetch_owner= 0;
      /*
        Clear NET error state: if the following commands come through
        successfully, connection will still be usable for other commands.
      */
      net_clear_error(&mysql->net);
      if (mysql->status != MYSQL_STATUS_READY)
      {
        /*
+21 −1
Original line number Diff line number Diff line
@@ -12513,7 +12513,7 @@ static void test_bug6761(void)
}


/* Bug#8330 - Bug #8330   mysql_stmt_execute crashes (libmysql) */
/* Bug#8330 - mysql_stmt_execute crashes (libmysql) */

static void test_bug8330()
{
@@ -12564,6 +12564,26 @@ static void test_bug8330()
}


/* Bug#7990 - mysql_stmt_close doesn't reset mysql->net.last_error */

static void test_bug7990()
{
  MYSQL_STMT *stmt;
  int rc;
  myheader("test_bug7990");

  stmt= mysql_stmt_init(mysql);
  rc= mysql_stmt_prepare(stmt, "foo", 3);
  /*
    XXX: the fact that we store errno both in STMT and in
    MYSQL is not documented and is subject to change in 5.0
  */
  DIE_UNLESS(rc && mysql_stmt_errno(stmt) && mysql_errno(mysql));
  mysql_stmt_close(stmt);
  DIE_UNLESS(!mysql_errno(mysql));
}


/*
  Read and parse arguments and MySQL options from my.cnf
*/