mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			127 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
############## mysql-test\t\ft_boolean_syntax_func.test  ######################
 | 
						|
#                                                                             #
 | 
						|
# Variable Name: ft_boolean_syntax                                            #
 | 
						|
# Scope: GLOBAL                                                               #
 | 
						|
# Access Type: Dynamic                                                        #
 | 
						|
# Data Type: string                                                           #
 | 
						|
# Default Value: + -><()~*:""&                                                #
 | 
						|
# Range: NA                                                                   #
 | 
						|
#                                                                             #
 | 
						|
#                                                                             #
 | 
						|
# Creation Date: 2008-03-08                                                   #
 | 
						|
# Author:  Rizwan                                                             #
 | 
						|
#                                                                             #
 | 
						|
# Description: Test Cases of Dynamic System Variable ft_boolean_syntax        #
 | 
						|
#              that checks the behavior of this variable                      #
 | 
						|
#                                                                             #
 | 
						|
# Reference: http://dev.mysql.com/doc/refman/5.1/en/                          #
 | 
						|
#  server-system-variables.html                                               #
 | 
						|
#                                                                             #
 | 
						|
###############################################################################
 | 
						|
--echo '#--------------------FN_DYNVARS_033_01-------------------------#'
 | 
						|
###################################################################
 | 
						|
# Check if setting ft_boolean_syntax is changed in new connection # 
 | 
						|
###################################################################
 | 
						|
 | 
						|
SET @@global.ft_boolean_syntax = ' -+()<>~*:``&|';
 | 
						|
# con1 will be default connection from now on
 | 
						|
--echo 'connect (con1,localhost,root,,,,)'
 | 
						|
connect (con1,localhost,root,,,,);
 | 
						|
--echo 'connection con1'
 | 
						|
connection con1;
 | 
						|
SELECT @@global.ft_boolean_syntax;
 | 
						|
SET @@global.ft_boolean_syntax = '+ -><()~*:""&|';
 | 
						|
--echo 'connect (con2,localhost,root,,,,)'
 | 
						|
connect (con2,localhost,root,,,,);
 | 
						|
--echo 'connection con2'
 | 
						|
connection con2;
 | 
						|
SELECT @@global.ft_boolean_syntax;
 | 
						|
disconnect con2;
 | 
						|
disconnect con1;
 | 
						|
 | 
						|
--echo '#--------------------FN_DYNVARS_033_02-------------------------#'
 | 
						|
#########################################################
 | 
						|
# Begin the functionality Testing of ft_boolean_syntax  #
 | 
						|
#########################################################
 | 
						|
 | 
						|
--echo 'connection default'
 | 
						|
connection default;
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
DROP TABLE IF EXISTS t1;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
CREATE TABLE articles (
 | 
						|
   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
 | 
						|
   title VARCHAR(200),
 | 
						|
   body TEXT,
 | 
						|
   FULLTEXT (title,body)
 | 
						|
);
 | 
						|
 | 
						|
INSERT INTO articles (title,body) VALUES
 | 
						|
('MySQL Tutorial','DBMS stands for DataBase ...'),
 | 
						|
('How To',''),
 | 
						|
('How To Use MySQL Well','After you went through a ...'),
 | 
						|
('Optimizing MySQL','In this tutorial we will show .... Run command line ...'),
 | 
						|
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
 | 
						|
('100 Tips for Myisam','1. Myisam is faster than innodb 2. Tricks and Tips for Myisam...'),
 | 
						|
('MySQL vs. YourSQL','In the following database comparison ...'),
 | 
						|
('MySQL Security','When configured properly, MySQL ...'),
 | 
						|
('Database Security','Configuring MySQL for ...');
 | 
						|
 | 
						|
SET @@global.ft_boolean_syntax = DEFAULT;
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('+mySQL -yourSQL' IN BOOLEAN MODE);
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('MySQL' IN BOOLEAN MODE);
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('mysql tutorial dbms' IN BOOLEAN MODE);
 | 
						|
 | 
						|
SELECT id,title,body, (MATCH (title,body) 
 | 
						|
AGAINST ('+security configuring' IN BOOLEAN MODE)) AS relevance
 | 
						|
FROM articles WHERE MATCH (title,body) 
 | 
						|
AGAINST ('+security configuring' IN BOOLEAN MODE);
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('"faster than"' IN BOOLEAN MODE);
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('+run ~line' IN BOOLEAN MODE);
 | 
						|
 | 
						|
--Echo 'Bug#35359: ~ is not working correctly. Its behaving like -'
 | 
						|
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('10*' IN BOOLEAN MODE);
 | 
						|
 | 
						|
--Echo 'Bug#35360: * is not working correctly. Not all rows are returned'
 | 
						|
 | 
						|
SELECT id,title,body, (MATCH (title,body) 
 | 
						|
AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)) AS relevance
 | 
						|
FROM articles WHERE MATCH (title,body) 
 | 
						|
AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)
 | 
						|
ORDER BY relevance DESC;
 | 
						|
 | 
						|
#==============================================================================
 | 
						|
--echo '---try setting different operators. Default '+ -><()~*:""&|'--'
 | 
						|
#==============================================================================
 | 
						|
SET @@global.ft_boolean_syntax='~ /!@#$%^&*()-';
 | 
						|
SELECT * FROM articles WHERE MATCH (title,body)
 | 
						|
AGAINST ('~mySQL /yourSQL' IN BOOLEAN MODE);
 | 
						|
 | 
						|
--echo 'Bug#35361: Different syntax does not produce result as default operators'
 | 
						|
 | 
						|
#restore default
 | 
						|
SET @@global.ft_boolean_syntax=DEFAULT;
 | 
						|
 | 
						|
#########################################################
 | 
						|
# End of functionality Testing for ft_boolean_syntax    #
 | 
						|
#########################################################
 | 
						|
DROP TABLE articles;
 | 
						|
 |