mirror of
https://github.com/MariaDB/server.git
synced 2025-05-25 13:42:52 +03:00
--disable_reconnect and --enable_reconnect to mysqltest so that it can be tested properly. (Bug #8866) client/mysqltest.c: Add support for --disable_reconnect and --enable_reconnect mysql-test/r/kill.result: Update results mysql-test/t/kill.test: Fix test to actually verify that killing a connection is working, and that automatic reconnect is working as desired. sql-common/client.c: Clean up MYSQL->stmts on reconnect by invalidating statements not in the MYSQL_STMT_INIT_DONE state, and reconnecting others to the new MYSQL object.
41 lines
950 B
Plaintext
41 lines
950 B
Plaintext
# 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
|
|
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;
|