mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --disable_warnings
 | |
| DROP TABLE IF EXISTS t1;
 | |
| --enable_warnings
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   a INT AUTO_INCREMENT PRIMARY KEY,
 | |
|   message CHAR(20),
 | |
|   FULLTEXT(message)
 | |
| ) comment = 'original testcase by sroussey@network54.com';
 | |
| INSERT INTO t1 (message) VALUES ("Testing"),("table"),("testbug"),
 | |
|         ("steve"),("is"),("cool"),("steve is cool");
 | |
| # basic MATCH
 | |
| SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve');
 | |
| SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve');
 | |
| SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
 | |
| SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
 | |
| 
 | |
| # MATCH + ORDER BY (with ft-ranges)
 | |
| SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY a;
 | |
| SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a;
 | |
| 
 | |
| # MATCH + ORDER BY (with normal ranges) + UNIQUE
 | |
| SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve') ORDER BY a DESC;
 | |
| SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a DESC;
 | |
| 
 | |
| # MATCH + ORDER BY + UNIQUE (const_table)
 | |
| SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve') ORDER BY 1;
 | |
| SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY 1;
 | |
| 
 | |
| # ORDER BY MATCH
 | |
| SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
 | |
| SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
 | |
| 
 | |
| #
 | |
| # BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
 | |
| # for fulltext searches too
 | |
| #
 | |
| alter table t1 add key m (message);
 | |
| explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
 | |
| SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc;
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # reused boolean scan bug
 | |
| #
 | |
| CREATE TABLE t1 (
 | |
|   a INT AUTO_INCREMENT PRIMARY KEY,
 | |
|   message CHAR(20),
 | |
|   FULLTEXT(message)
 | |
| );
 | |
| INSERT INTO t1 (message) VALUES ("testbug"),("testbug foobar");
 | |
| SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1;
 | |
| SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel,a;
 | |
| drop table t1;
 | |
| 
 |