mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
126 lines
5.3 KiB
Text
126 lines
5.3 KiB
Text
############## 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;
|
|
|