mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 21:42:35 +01:00
0d55e93614
Added prototype for my_thread_end New error message for MATCH Give error when using myisamchk --force --readonly
83 lines
2.2 KiB
Text
83 lines
2.2 KiB
Text
#
|
|
# Test of fulltext index
|
|
#
|
|
|
|
drop table if exists t1,t2,t3;
|
|
|
|
CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
|
|
INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),('Full-text indexes', 'are called collections'),('Only MyISAM tables','support collections'),('Function MATCH ... AGAINST()','is used to do a search'),('Full-text search in MySQL', 'implements vector space model');
|
|
select * from t1 where MATCH(a,b) AGAINST ("collections");
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes");
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
|
|
delete from t1 where a like "MySQL%";
|
|
drop table t1;
|
|
|
|
#
|
|
# Check bug reported by Matthias Urlichs
|
|
#
|
|
|
|
CREATE TABLE t1 (
|
|
id int(11),
|
|
ticket int(11),
|
|
KEY ti (id),
|
|
KEY tit (ticket)
|
|
);
|
|
INSERT INTO t1 VALUES (2,3),(1,2);
|
|
|
|
CREATE TABLE t2 (
|
|
ticket int(11),
|
|
inhalt text,
|
|
KEY tig (ticket),
|
|
fulltext index tix (inhalt)
|
|
);
|
|
INSERT INTO t2 VALUES (1,'foo'),(2,'bar'),(3,'foobar');
|
|
|
|
select t1.id FROM t2 as ttxt,t1,t1 as ticket2
|
|
WHERE ticket2.id = ttxt.ticket AND t1.id = ticket2.ticket and
|
|
match(ttxt.inhalt) against ('foobar');
|
|
|
|
# In the following query MySQL didn't use the fulltext index
|
|
select t1.id FROM t2 as ttxt,t1 INNER JOIN t1 as ticket2 ON
|
|
ticket2.id = ttxt.ticket
|
|
WHERE t1.id = ticket2.ticket and match(ttxt.inhalt) against ('foobar');
|
|
|
|
INSERT INTO t1 VALUES (3,3);
|
|
select t1.id FROM t2 as ttxt,t1
|
|
INNER JOIN t1 as ticket2 ON ticket2.id = ttxt.ticket
|
|
WHERE t1.id = ticket2.ticket and
|
|
match(ttxt.inhalt) against ('foobar');
|
|
|
|
# Check that we get 'fulltext' index in SHOW CREATE
|
|
|
|
show keys from t2;
|
|
show create table t2;
|
|
|
|
# check for bug reported by Stephan Skusa
|
|
|
|
select * from t2 where MATCH inhalt AGAINST (NULL);
|
|
|
|
# MATCH in HAVING (pretty useless, but still it should work)
|
|
|
|
select * from t2 where MATCH inhalt AGAINST ('foobar');
|
|
select * from t2 having MATCH inhalt AGAINST ('foobar');
|
|
|
|
#
|
|
# check of fulltext errors
|
|
#
|
|
|
|
CREATE TABLE t3 (
|
|
ticket int(11),
|
|
inhalt text,
|
|
KEY tig (ticket),
|
|
fulltext index tix (inhalt)
|
|
);
|
|
|
|
--error 1210
|
|
select * from t2 having MATCH inhalt AGAINST (t1.id);
|
|
--error 1210
|
|
select * from t2 having MATCH ticket AGAINST ('foobar');
|
|
--error 1210
|
|
select * from t2,t3 having MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar');
|
|
|
|
drop table t1,t2,t3;
|
|
|