12 changed files with 124 additions and 40 deletions
-
6mysql-test/suite/innodb_fts/r/fts_kill_query.result
-
30mysql-test/suite/innodb_fts/t/fts_kill_query.test
-
9storage/innobase/fts/fts0ast.cc
-
16storage/innobase/fts/fts0pars.cc
-
16storage/innobase/fts/fts0pars.y
-
17storage/innobase/fts/fts0que.cc
-
6storage/innobase/include/fts0ast.h
-
9storage/xtradb/fts/fts0ast.cc
-
16storage/xtradb/fts/fts0pars.cc
-
16storage/xtradb/fts/fts0pars.y
-
17storage/xtradb/fts/fts0que.cc
-
6storage/xtradb/include/fts0ast.h
@ -0,0 +1,6 @@ |
|||
CREATE TABLE t1 (a VARCHAR(7), b text, FULLTEXT KEY idx (a,b)) ENGINE=InnoDB; |
|||
COMMIT; |
|||
SELECT COUNT(*) FROM t1 |
|||
WHERE MATCH (a,b) AGAINST ('foo bar' IN BOOLEAN MODE); |
|||
KILL QUERY @id; |
|||
DROP TABLE t1; |
|||
@ -0,0 +1,30 @@ |
|||
--source include/have_innodb.inc |
|||
|
|||
CREATE TABLE t1 (a VARCHAR(7), b text, FULLTEXT KEY idx (a,b)) ENGINE=InnoDB; |
|||
|
|||
--disable_query_log |
|||
BEGIN; |
|||
let $n=1000; |
|||
while ($n) { |
|||
INSERT INTO t1 VALUES('foo bar','boo far'); |
|||
dec $n; |
|||
} |
|||
--enable_query_log |
|||
COMMIT; |
|||
|
|||
let $id = `SELECT CONNECTION_ID()`; |
|||
send SELECT COUNT(*) FROM t1 |
|||
WHERE MATCH (a,b) AGAINST ('foo bar' IN BOOLEAN MODE); |
|||
|
|||
connect (con1,localhost,root,,); |
|||
let $ignore= `SELECT @id := $ID`; |
|||
KILL QUERY @id; |
|||
disconnect con1; |
|||
|
|||
connection default; |
|||
# The following would return a result set if the KILL was not fast enough. |
|||
--disable_result_log |
|||
--error 0,ER_QUERY_INTERRUPTED,HA_ERR_ABORTED_BY_USER |
|||
reap; |
|||
--enable_result_log |
|||
DROP TABLE t1; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue