1
############## mysql-test\t\ft_boolean_syntax_func.test ######################
3
# Variable Name: ft_boolean_syntax #
5
# Access Type: Dynamic #
7
# Default Value: + -><()~*:""& #
11
# Creation Date: 2008-03-08 #
14
# Description: Test Cases of Dynamic System Variable ft_boolean_syntax #
15
# that checks the behavior of this variable #
17
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
18
# server-system-variables.html #
20
###############################################################################
21
--echo '#--------------------FN_DYNVARS_033_01-------------------------#'
22
###################################################################
23
# Check if setting ft_boolean_syntax is changed in new connection #
24
###################################################################
26
SET @@global.ft_boolean_syntax = ' -+()<>~*:``&|';
27
# con1 will be default connection from now on
28
--echo 'connect (con1,localhost,root,,,,)'
29
connect (con1,localhost,root,,,,);
30
--echo 'connection con1'
32
SELECT @@global.ft_boolean_syntax;
33
SET @@global.ft_boolean_syntax = '+ -><()~*:""&|';
34
--echo 'connect (con2,localhost,root,,,,)'
35
connect (con2,localhost,root,,,,);
36
--echo 'connection con2'
38
SELECT @@global.ft_boolean_syntax;
42
--echo '#--------------------FN_DYNVARS_033_02-------------------------#'
43
#########################################################
44
# Begin the functionality Testing of ft_boolean_syntax #
45
#########################################################
47
--echo 'connection default'
51
DROP TABLE IF EXISTS t1;
54
CREATE TABLE articles (
55
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
61
INSERT INTO articles (title,body) VALUES
62
('MySQL Tutorial','DBMS stands for DataBase ...'),
64
('How To Use MySQL Well','After you went through a ...'),
65
('Optimizing MySQL','In this tutorial we will show .... Run command line ...'),
66
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
67
('100 Tips for Myisam','1. Myisam is faster than innodb 2. Tricks and Tips for Myisam...'),
68
('MySQL vs. YourSQL','In the following database comparison ...'),
69
('MySQL Security','When configured properly, MySQL ...'),
70
('Database Security','Configuring MySQL for ...');
72
SET @@global.ft_boolean_syntax = DEFAULT;
74
SELECT * FROM articles WHERE MATCH (title,body)
75
AGAINST ('+mySQL -yourSQL' IN BOOLEAN MODE);
77
SELECT * FROM articles WHERE MATCH (title,body)
78
AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
80
SELECT * FROM articles WHERE MATCH (title,body)
81
AGAINST ('MySQL' IN BOOLEAN MODE);
83
SELECT * FROM articles WHERE MATCH (title,body)
84
AGAINST ('mysql tutorial dbms' IN BOOLEAN MODE);
86
SELECT id,title,body, (MATCH (title,body)
87
AGAINST ('+security configuring' IN BOOLEAN MODE)) AS relevance
88
FROM articles WHERE MATCH (title,body)
89
AGAINST ('+security configuring' IN BOOLEAN MODE);
91
SELECT * FROM articles WHERE MATCH (title,body)
92
AGAINST ('"faster than"' IN BOOLEAN MODE);
94
SELECT * FROM articles WHERE MATCH (title,body)
95
AGAINST ('+run ~line' IN BOOLEAN MODE);
97
--Echo 'Bug#35359: ~ is not working correctly. Its behaving like -'
99
SELECT * FROM articles WHERE MATCH (title,body)
100
AGAINST ('10*' IN BOOLEAN MODE);
102
--Echo 'Bug#35360: * is not working correctly. Not all rows are returned'
104
SELECT id,title,body, (MATCH (title,body)
105
AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)) AS relevance
106
FROM articles WHERE MATCH (title,body)
107
AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)
108
ORDER BY relevance DESC;
110
#==============================================================================
111
--echo '---try setting different operators. Default '+ -><()~*:""&|'--'
112
#==============================================================================
113
SET @@global.ft_boolean_syntax='~ /!@#$%^&*()-';
114
SELECT * FROM articles WHERE MATCH (title,body)
115
AGAINST ('~mySQL /yourSQL' IN BOOLEAN MODE);
117
--echo 'Bug#35361: Different syntax does not produce result as default operators'
120
SET @@global.ft_boolean_syntax=DEFAULT;
122
#########################################################
123
# End of functionality Testing for ft_boolean_syntax #
124
#########################################################