2001-10-08 03:58:07 +02:00
|
|
|
# This test doesn't work with the embedded version as this code
|
|
|
|
# assumes that one query is running while we are doing queries on
|
|
|
|
# a second connection.
|
|
|
|
# This would work if mysqltest run would be threaded and handle each
|
|
|
|
# connection in a separate thread.
|
|
|
|
#
|
|
|
|
-- source include/not_embedded.inc
|
|
|
|
|
2001-03-25 00:02:26 +01:00
|
|
|
connect (con1, localhost, root,,);
|
|
|
|
connect (con2, localhost, root,,);
|
2001-03-14 07:07:12 +01:00
|
|
|
|
|
|
|
#remember id of con1
|
|
|
|
connection con1;
|
2003-01-06 00:48:59 +01:00
|
|
|
--disable_warnings
|
2006-01-18 12:48:57 +01:00
|
|
|
drop table if exists t1, t2, t3;
|
2003-01-06 00:48:59 +01:00
|
|
|
--enable_warnings
|
|
|
|
|
2001-03-15 02:55:48 +01:00
|
|
|
create table t1 (kill_id int);
|
|
|
|
insert into t1 values(connection_id());
|
2001-03-14 07:07:12 +01:00
|
|
|
|
|
|
|
#kill con1
|
|
|
|
connection con2;
|
2001-03-15 02:55:48 +01:00
|
|
|
select ((@id := kill_id) - kill_id) from t1;
|
2001-03-14 07:07:12 +01:00
|
|
|
kill @id;
|
|
|
|
|
|
|
|
connection con1;
|
2005-09-20 18:36:35 +02:00
|
|
|
--sleep 1
|
2005-03-28 19:59:41 +02:00
|
|
|
|
|
|
|
--disable_reconnect
|
|
|
|
# this statement should fail
|
2005-04-11 22:36:07 +02:00
|
|
|
--error 2006,2013
|
2005-03-28 19:59:41 +02:00
|
|
|
select 1;
|
|
|
|
--enable_reconnect
|
|
|
|
# this should work, and we should have a new connection_id()
|
|
|
|
select ((@id := kill_id) - kill_id) from t1;
|
2001-03-15 02:55:48 +01:00
|
|
|
select @id != connection_id();
|
2001-03-14 07:07:12 +01:00
|
|
|
|
|
|
|
#make sure the server is still alive
|
|
|
|
connection con2;
|
|
|
|
select 4;
|
2001-03-15 02:55:48 +01:00
|
|
|
drop table t1;
|
2006-01-18 12:48:57 +01:00
|
|
|
connection default;
|
2006-03-06 18:34:38 +01:00
|
|
|
disconnect con2;
|
2005-07-28 02:22:47 +02:00
|
|
|
|
2006-03-06 18:26:39 +01:00
|
|
|
--error 1064
|
|
|
|
kill (select count(*) from mysql.user);
|
|
|
|
|
2006-01-18 12:48:57 +01:00
|
|
|
#
|
|
|
|
# BUG#14851: killing long running subquery processed via a temporary table.
|
|
|
|
#
|
|
|
|
create table t1 (id int primary key);
|
|
|
|
create table t2 (id int unsigned not null);
|
|
|
|
|
|
|
|
connect (conn1, localhost, root,,);
|
|
|
|
connection conn1;
|
|
|
|
|
|
|
|
-- disable_result_log
|
|
|
|
-- disable_query_log
|
|
|
|
let $1 = 4096;
|
|
|
|
while ($1)
|
|
|
|
{
|
|
|
|
eval insert into t1 values ($1);
|
|
|
|
dec $1;
|
|
|
|
}
|
|
|
|
-- enable_query_log
|
|
|
|
-- enable_result_log
|
|
|
|
|
|
|
|
insert into t2 select id from t1;
|
|
|
|
|
|
|
|
create table t3 (kill_id int);
|
|
|
|
insert into t3 values(connection_id());
|
|
|
|
|
|
|
|
-- disable_result_log
|
|
|
|
send select id from t1 where id in (select distinct id from t2);
|
|
|
|
-- enable_result_log
|
|
|
|
|
|
|
|
connect (conn2, localhost, root,,);
|
|
|
|
connection conn2;
|
|
|
|
select ((@id := kill_id) - kill_id) from t3;
|
|
|
|
-- sleep 1
|
|
|
|
kill @id;
|
|
|
|
|
|
|
|
connection conn1;
|
2006-02-07 12:45:16 +01:00
|
|
|
-- error 1053,2013
|
2006-01-18 12:48:57 +01:00
|
|
|
reap;
|
|
|
|
|
|
|
|
disconnect conn1;
|
|
|
|
disconnect conn2;
|
|
|
|
connection default;
|
|
|
|
|
|
|
|
drop table t1, t2, t3;
|
|
|
|
|
2005-07-28 02:22:47 +02:00
|
|
|
# End of 4.1 tests
|