Commit 89fdbbeb authored by unknown's avatar unknown
Browse files

Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0

into  april.(none):/home/svoj/devel/mysql/BUG18233/mysql-5.0

parents 42bfdef0 f04b9f24
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
# This test  uses grants, which can't get tested for embedded server
-- source include/not_embedded.inc

# This test uses chmod, can't be run with root permissions
-- source include/not_as_root.inc

# Test for information_schema.schemata &
# show databases

+3 −0
Original line number Diff line number Diff line
@@ -8,6 +8,9 @@
#
--source include/not_windows.inc

# This test uses chmod, can't be run with root permissions
-- source include/not_as_root.inc


#
# Bug #15851 Unlistable directories yield no info from information_schema
+64 −4
Original line number Diff line number Diff line
@@ -4,10 +4,41 @@
#
# Bug #8731: wait_timeout does not work on Mac OS X
#


# Connect with another connection and reset counters
--disable_query_log
connect (wait_con,localhost,root,,test,,);
flush status; # Reset counters
connection wait_con;
let $retries=300;
let $aborted_clients = `SHOW STATUS LIKE 'aborted_clients'`;
set @aborted_clients= 0;
--enable_query_log

# Disable reconnect and do the query
connection default;
--disable_reconnect
select 1;
# wait_timeout is 1, so we should get disconnected now
--sleep 2

# Switch to wait_con and wait until server has aborted the connection
--disable_query_log
connection wait_con;
while (!`select @aborted_clients`)
{
  sleep 0.1;
  let $aborted_clients = `SHOW STATUS LIKE 'aborted_clients'`;
  eval set @aborted_clients= SUBSTRING('$aborted_clients', 16)+0;

  dec $retries;
  if (!$retries)
  {
    Failed to detect that client has been aborted;
  }
}
--enable_query_log

connection default;
# When the connection is closed in this way, the error code should
# be consistent see bug#2845 for an explanation
--error 2006
@@ -15,12 +46,41 @@ select 2;
--enable_reconnect
select 3;

#
# Do the same test as above on a TCP connection
# (which we get by specifying a ip adress)

# Connect with another connection and reset counters
--disable_query_log
connection wait_con;
flush status; # Reset counters
let $retries=300;
let $aborted_clients = `SHOW STATUS LIKE 'aborted_clients'`;
set @aborted_clients= 0;
--enable_query_log

connect (con1,127.0.0.1,root,,test,$MASTER_MYPORT,);
--disable_reconnect
select 1;
# wait_timeout is 1, so we should get disconnected now
--sleep 2

# Switch to wait_con and wait until server has aborted the connection
--disable_query_log
connection wait_con;
while (!`select @aborted_clients`)
{
  sleep 0.1;
  let $aborted_clients = `SHOW STATUS LIKE 'aborted_clients'`;
  eval set @aborted_clients= SUBSTRING('$aborted_clients', 16)+0;

  dec $retries;
  if (!$retries)
  {
    Failed to detect that client has been aborted;
  }
}
--enable_query_log

connection con1;
# When the connection is closed in this way, the error code should
# be consistent see bug#2845 for an explanation
--error 2006
+14 −1
Original line number Diff line number Diff line
@@ -934,7 +934,20 @@ void kill_mysql(void)
  DBUG_VOID_RETURN;
}

	/* Force server down. kill all connections and threads and exit */
/*
  Force server down. Kill all connections and threads and exit

  SYNOPSIS
  kill_server

  sig_ptr       Signal number that caused kill_server to be called.

  NOTE!
    A signal number of 0 mean that the function was not called
    from a signal handler and there is thus no signal to block
    or stop, we just want to kill the server.

*/

#if defined(OS2) || defined(__NETWARE__)
extern "C" void kill_server(int sig_ptr)
+10 −1
Original line number Diff line number Diff line
@@ -3949,10 +3949,19 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \
  delete thd;
  pthread_mutex_unlock(&LOCK_thread_count);
  pthread_cond_broadcast(&rli->stop_cond);

#ifndef DBUG_OFF
  /*
    Bug #19938 Valgrind error (race) in handle_slave_sql()
    Read the value of rli->event_till_abort before releasing the mutex
  */
  const int eta= rli->events_till_abort;
#endif

  // tell the world we are done
  pthread_mutex_unlock(&rli->run_lock);
#ifndef DBUG_OFF // TODO: reconsider the code below
  if (abort_slave_event_count && !rli->events_till_abort)
  if (abort_slave_event_count && !eta)
    goto slave_begin;
#endif  
  my_thread_end();
Loading