mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
f0ae3ce9b9
Fixed compile-pentium64 scripts Fixed wrong estimate of update_with_key_prefix in sql-bench Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1 Fixed unsafe define of uint4korr() Fixed that --extern works with mysql-test-run.pl Small trivial cleanups This also fixes a bug in counting number of rows that are updated when we have many simultanous queries Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc Split handle_one_connection() into reusable sub functions. Split create_new_thread() into reusable sub functions. Added thread_scheduler; Preliminary interface code for future thread_handling code. Use 'my_thread_id' for internal thread id's Make thr_alarm_kill() to depend on thread_id instead of thread Make thr_abort_locks_for_thread() depend on thread_id instead of thread In store_globals(), set my_thread_var->id to be thd->thread_id. Use my_thread_var->id as basis for my_thread_name() The above changes makes the connection we have between THD and threads more soft. Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions Fixed compiler warnings Fixed core dumps when running with --debug Removed setting of signal masks (was never used) Made event code call pthread_exit() (portability fix) Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called. Made handling of thread_id and thd->variables.pseudo_thread_id uniform. Removed one common 'not freed memory' warning from mysqltest Fixed a couple of usage of not initialized warnings (unlikely cases) Suppress compiler warnings from bdb and (for the moment) warnings from ndb
106 lines
2.7 KiB
Text
106 lines
2.7 KiB
Text
# This tests not performed with embedded server
|
|
-- source include/not_embedded.inc
|
|
-- source include/one_thread_per_connection.inc
|
|
|
|
#
|
|
# 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,,);
|
|
connection wait_con;
|
|
set session wait_timeout=100;
|
|
let $retries=300;
|
|
set @aborted_clients= 0;
|
|
--enable_query_log
|
|
|
|
# Disable reconnect and do the query
|
|
connection default;
|
|
# If slow host (Valgrind...), we may have already timed out here.
|
|
# So force a reconnect if necessary, using a dummy query. And issue a
|
|
# 'flush status' to reset the 'aborted_clients' counter.
|
|
--enable_reconnect
|
|
select 0;
|
|
flush status;
|
|
--disable_reconnect
|
|
select 1;
|
|
|
|
# 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
|
|
# The server has disconnected, add small sleep to make sure
|
|
# the disconnect has reached client
|
|
sleep 1;
|
|
|
|
connection default;
|
|
# When the connection is closed in this way, the error code should
|
|
# be consistent see bug#2845 for an explanation
|
|
# depending on platform/client, either errno 2006 or 2013 can occur below
|
|
--error 2006,2013
|
|
select 2;
|
|
--enable_reconnect
|
|
select 3;
|
|
# Disconnect so that we will not be confused by a future abort from this
|
|
# connection.
|
|
disconnect default;
|
|
|
|
#
|
|
# 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;
|
|
set @aborted_clients= 0;
|
|
--enable_query_log
|
|
|
|
connect (con1,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
|
--disable_reconnect
|
|
select 1;
|
|
|
|
# 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
|
|
# The server has disconnected, add small sleep to make sure
|
|
# the disconnect has reached client
|
|
sleep 1;
|
|
|
|
connection con1;
|
|
# When the connection is closed in this way, the error code should
|
|
# be consistent see bug#2845 for an explanation
|
|
# depending on platform/client, either errno 2006 or 2013 can occur below
|
|
--error 2006,2013
|
|
select 2;
|
|
--enable_reconnect
|
|
select 3;
|
|
disconnect con1;
|