mariadb/mysql-test/t/kill.test
2005-04-11 22:36:07 +02:00

59 lines
1.3 KiB
Text

# 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
connect (con1, localhost, root,,);
connect (con2, localhost, root,,);
#remember id of con1
connection con1;
--disable_warnings
drop table if exists t1;
--enable_warnings
create table t1 (kill_id int);
insert into t1 values(connection_id());
#kill con1
connection con2;
select ((@id := kill_id) - kill_id) from t1;
kill @id;
connection con1;
--disable_reconnect
# this statement should fail
--error 2006,2013
select 1;
--enable_reconnect
# this should work, and we should have a new connection_id()
select ((@id := kill_id) - kill_id) from t1;
select @id != connection_id();
#make sure the server is still alive
connection con2;
select 4;
drop table t1;
#
# test of blocking of sending ERROR after OK or EOF
#
connection con1;
select get_lock("a", 10);
connection con2;
let $ID= `select connection_id()`;
send select get_lock("a", 10);
--real_sleep 2;
connection con1;
disable_query_log;
eval kill query $ID;
enable_query_log;
connection con2;
reap;
select 1;
connection con1;
select RELEASE_LOCK("a");