mariadb/mysql-test/t/fulltext.test
unknown 638a96783e Fix error messages after merge from 3.23
include/mysqld_error.h:
  Fix error messages
mysql-test/t/fulltext.test:
  Fixed wrong error numbers
mysql-test/t/union.test:
  Update error numbers after merge with 3.23
sql/share/czech/errmsg.txt:
  Fix of merge
sql/share/danish/errmsg.txt:
  Updated error messages from 3.23
sql/share/dutch/errmsg.txt:
  Updated error messages from 3.23
sql/share/english/errmsg.txt:
  Updated error messages
sql/share/estonian/errmsg.txt:
  Fix of merge
sql/share/french/errmsg.txt:
  Fix of merge
sql/share/german/errmsg.txt:
  Fix of merge
sql/share/greek/errmsg.txt:
  Fix of merge
sql/share/hungarian/errmsg.txt:
  Fix of merge
sql/share/italian/errmsg.txt:
  Fix of merge
sql/share/japanese/errmsg.txt:
  Fix of merge
sql/share/korean/errmsg.txt:
  Fix of merge
sql/share/norwegian-ny/errmsg.txt:
  Fix of merge
sql/share/norwegian/errmsg.txt:
  Fix of merge
sql/share/polish/errmsg.txt:
  Fix of merge
sql/share/portuguese/errmsg.txt:
  Updated error messages
sql/share/romanian/errmsg.txt:
  Fix of merge
sql/share/russian/errmsg.txt:
  Fix of merge
sql/share/slovak/errmsg.txt:
  Fix of merge
sql/share/spanish/errmsg.txt:
  Fix of merge
sql/share/swedish/errmsg.txt:
  Fix of merge
2001-08-13 15:24:29 +03:00

84 lines
2.3 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 where MATCH inhalt AGAINST (t2.inhalt);
--error 1210
select * from t2 where MATCH inhalt AGAINST (t2.inhalt);
--error 1191
select * from t2 where MATCH ticket AGAINST ('foobar');
--error 1210
select * from t2,t3 where MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar');
drop table t1,t2,t3;