mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 a7f84f09bf
			
		
	
	
	a7f84f09bf
	
	
	
		
			
			The functions fts_ast_visit() and fts_query() inside InnoDB FULLTEXT INDEX query processing are not checking for THD::killed (trx_is_interrupted()), like anything that potentially takes a long time should do. This is a port of the following change from MySQL 5.7.23, with a completely rewritten test case. commit c58c6f8f66ddd0357ecd0c99646aa6bf1dae49c8 Author: Aakanksha Verma <aakanksha.verma@oracle.com> Date: Fri May 4 15:53:13 2018 +0530 Bug #27155294 MAX_EXECUTION_TIME NOT INTERUPTED WITH FULLTEXT SEARCH USING MECAB
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			681 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			681 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| --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;
 |