File: fulltext_distinct.test

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (56 lines) | stat: -rw-r--r-- 1,617 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# This tests the functionality of the fulltext search of Myisam engine
# The implementation of the fulltext search is different in InnoDB engine
# All tests are required to run with Myisam.
# Hence MTR starts mysqld with MyISAM as default
--source include/force_myisam_default.inc
--source include/have_myisam.inc

#
# Test of fulltext index
# bug reported by  Tibor Simko <tibor.simko@cern.ch>
#

--disable_warnings
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
CREATE TABLE t1 (
 id mediumint unsigned NOT NULL auto_increment,
 tag char(6) NOT NULL default '',
 value text NOT NULL default '',
 PRIMARY KEY (id),
 KEY kt(tag),
 KEY kv(value(15)),
 FULLTEXT KEY kvf(value)
) ENGINE=MyISAM;
CREATE TABLE t2 (
 id_t2 mediumint unsigned NOT NULL default '0',
 id_t1 mediumint unsigned NOT NULL default '0',
 field_number tinyint unsigned NOT NULL default '0',
 PRIMARY KEY (id_t2,id_t1,field_number),
 KEY id_t1(id_t1)
) ENGINE=MyISAM;
SET sql_mode = default;
INSERT INTO t1 (tag,value) VALUES ('foo123','bar111');
INSERT INTO t1 (tag,value) VALUES ('foo123','bar222');
INSERT INTO t1 (tag,value) VALUES ('bar345','baz333 ar');

INSERT INTO t2 VALUES (2231626,64280,0);
INSERT INTO t2 VALUES (2231626,64281,0);
INSERT INTO t2 VALUES (12346, 3, 1);

--sorted_result
SELECT * FROM t1;
--sorted_result
SELECT * FROM t2;

SELECT DISTINCT t2.id_t2 FROM t2, t1
WHERE MATCH (t1.value) AGAINST ('baz333') AND t1.id = t2.id_t1;

SELECT DISTINCT t2.id_t2 FROM t2, t1
WHERE MATCH (t1.value) AGAINST ('baz333' IN BOOLEAN MODE)
AND t1.id = t2.id_t1;

DROP TABLE t1, t2;

# End of 4.1 tests