bug#14765606: ensure select is active before killing it else kill signal is ignored

parent 36e64937
use test; use test;
drop table if exists t1; drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
create table t1 (id int primary key, value int, value2 int, create table t1 (id int primary key, value int, value2 int,
value3 int, index(value,value2)) engine=innodb; value3 int, index(value,value2)) engine=innodb;
insert into t1 values insert into t1 values
...@@ -19,6 +17,7 @@ update test.t1 set value2=value2+1, value3=value3+1 where id=12; ...@@ -19,6 +17,7 @@ update test.t1 set value2=value2+1, value3=value3+1 where id=12;
SET i = i + 1; SET i = i + 1;
END WHILE; END WHILE;
END| END|
set autocommit=0;
CALL update_t1(); CALL update_t1();
select * from t1; select * from t1;
id value value2 value3 id value value2 value3
...@@ -33,11 +32,22 @@ id value value2 value3 ...@@ -33,11 +32,22 @@ id value value2 value3
18 18 18 18 18 18 18 18
19 19 19 19 19 19 19 19
20 20 20 20 20 20 20 20
set autocommit=1;
select * from t1;
id value value2 value3
10 10 10 10
11 11 11 11
12 12 5012 5012
13 13 13 13
14 14 14 14
15 15 15 15
16 16 16 16
17 17 17 17
18 18 18 18
19 19 19 19
20 20 20 20
select * from t1 force index(value) where value=12; select * from t1 force index(value) where value=12;
kill query @id; kill query @id;
ERROR 70100: Query execution was interrupted ERROR 70100: Query execution was interrupted
select * from t1 where value = 12;
id value value2 value3
12 12 12 12
drop procedure if exists update_t1; drop procedure if exists update_t1;
drop table if exists t1; drop table if exists t1;
...@@ -4,8 +4,9 @@ ...@@ -4,8 +4,9 @@
# create test-bed to run test # create test-bed to run test
# #
use test; use test;
--disable_warnings
drop table if exists t1; drop table if exists t1;
--enable_warnings
create table t1 (id int primary key, value int, value2 int, create table t1 (id int primary key, value int, value2 int,
value3 int, index(value,value2)) engine=innodb; value3 int, index(value,value2)) engine=innodb;
...@@ -47,9 +48,11 @@ BEGIN ...@@ -47,9 +48,11 @@ BEGIN
END| END|
delimiter ;| delimiter ;|
set autocommit=0;
CALL update_t1(); CALL update_t1();
select * from t1; select * from t1;
set autocommit=1;
select * from t1;
# #
# Now try to fire select query from connection-1 enforcing # Now try to fire select query from connection-1 enforcing
...@@ -65,6 +68,10 @@ select * from t1 force index(value) where value=12; ...@@ -65,6 +68,10 @@ select * from t1 force index(value) where value=12;
# select is going to take good time so let's kill query. # select is going to take good time so let's kill query.
# #
connection conn3; connection conn3;
let $wait_condition=
select * from information_schema.processlist where state = 'Sending data' and
info = 'select * from t1 force index(value) where value=12';
--source include/wait_condition.inc
let $ignore= `SELECT @id := $ID`; let $ignore= `SELECT @id := $ID`;
kill query @id; kill query @id;
...@@ -74,7 +81,6 @@ kill query @id; ...@@ -74,7 +81,6 @@ kill query @id;
connection conn1; connection conn1;
--error ER_QUERY_INTERRUPTED --error ER_QUERY_INTERRUPTED
reap; reap;
select * from t1 where value = 12;
# #
# clean test-bed. # clean test-bed.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment