~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysql-test/r/fulltext_order_by.result

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
DROP TABLE IF EXISTS t1,t2,t3;
 
2
CREATE TABLE t1 (
 
3
a INT AUTO_INCREMENT PRIMARY KEY,
 
4
message CHAR(20),
 
5
FULLTEXT(message)
 
6
) comment = 'original testcase by sroussey@network54.com';
 
7
INSERT INTO t1 (message) VALUES ("Testing"),("table"),("testbug"),
 
8
("steve"),("is"),("cool"),("steve is cool");
 
9
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve');
 
10
a       FORMAT(MATCH (message) AGAINST ('steve'),6)
 
11
4       0.905873
 
12
7       0.895690
 
13
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve');
 
14
a       MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
 
15
4       1
 
16
7       1
 
17
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
 
18
a       FORMAT(MATCH (message) AGAINST ('steve'),6)
 
19
4       0.905873
 
20
7       0.895690
 
21
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE);
 
22
a       MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
 
23
4       1
 
24
7       1
 
25
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY a;
 
26
a       FORMAT(MATCH (message) AGAINST ('steve'),6)
 
27
4       0.905873
 
28
7       0.895690
 
29
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a;
 
30
a       MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
 
31
4       1
 
32
7       1
 
33
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve') ORDER BY a DESC;
 
34
a       FORMAT(MATCH (message) AGAINST ('steve'),6)
 
35
7       0.895690
 
36
4       0.905873
 
37
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY a DESC;
 
38
a       MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
 
39
7       1
 
40
4       1
 
41
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve') ORDER BY 1;
 
42
a       FORMAT(MATCH (message) AGAINST ('steve'),6)
 
43
7       0.895690
 
44
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY 1;
 
45
a       MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
 
46
7       1
 
47
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
 
48
a       rel
 
49
1       0.000000
 
50
2       0.000000
 
51
3       0.000000
 
52
5       0.000000
 
53
6       0.000000
 
54
7       0.895690
 
55
4       0.905873
 
56
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
 
57
a       rel
 
58
1       0
 
59
2       0
 
60
3       0
 
61
5       0
 
62
6       0
 
63
4       1
 
64
7       1
 
65
alter table t1 add key m (message);
 
66
explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
 
67
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
68
1       SIMPLE  t1      fulltext        message message 0               1       Using where; Using filesort
 
69
SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc;
 
70
message
 
71
steve is cool
 
72
steve
 
73
drop table t1;
 
74
CREATE TABLE t1 (
 
75
a INT AUTO_INCREMENT PRIMARY KEY,
 
76
message CHAR(20),
 
77
FULLTEXT(message)
 
78
);
 
79
INSERT INTO t1 (message) VALUES ("testbug"),("testbug foobar");
 
80
SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1;
 
81
a       rel
 
82
1       1
 
83
2       2
 
84
SELECT a, MATCH (message) AGAINST ('t* f*' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel,a;
 
85
a       rel
 
86
1       1
 
87
2       2
 
88
drop table t1;
 
89
CREATE TABLE t1 (
 
90
id int(11) NOT NULL auto_increment,
 
91
thread int(11) NOT NULL default '0',
 
92
beitrag longtext NOT NULL,
 
93
PRIMARY KEY  (id),
 
94
KEY thread (thread),
 
95
FULLTEXT KEY beitrag (beitrag)
 
96
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7923 ;
 
97
CREATE TABLE t2 (
 
98
id int(11) NOT NULL auto_increment,
 
99
text varchar(100) NOT NULL default '',
 
100
PRIMARY KEY  (id),
 
101
KEY text (text)
 
102
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=63 ;
 
103
CREATE TABLE t3 (
 
104
id int(11) NOT NULL auto_increment,
 
105
forum int(11) NOT NULL default '0',
 
106
betreff varchar(70) NOT NULL default '',
 
107
PRIMARY KEY  (id),
 
108
KEY forum (forum),
 
109
FULLTEXT KEY betreff (betreff)
 
110
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=996 ;
 
111
select a.text, b.id, b.betreff
 
112
from 
 
113
t2 a inner join t3 b on a.id = b.forum inner join
 
114
t1 c on b.id = c.thread
 
115
where 
 
116
match(b.betreff) against ('+abc' in boolean mode)
 
117
group by a.text, b.id, b.betreff
 
118
union
 
119
select a.text, b.id, b.betreff
 
120
from 
 
121
t2 a inner join t3 b on a.id = b.forum inner join
 
122
t1 c on b.id = c.thread
 
123
where 
 
124
match(c.beitrag) against ('+abc' in boolean mode)
 
125
group by 
 
126
a.text, b.id, b.betreff
 
127
order by 
 
128
match(b.betreff) against ('+abc' in boolean mode) desc;
 
129
ERROR 42S22: Unknown column 'b.betreff' in 'order clause'
 
130
select a.text, b.id, b.betreff
 
131
from 
 
132
t2 a inner join t3 b on a.id = b.forum inner join
 
133
t1 c on b.id = c.thread
 
134
where 
 
135
match(b.betreff) against ('+abc' in boolean mode)
 
136
union
 
137
select a.text, b.id, b.betreff
 
138
from 
 
139
t2 a inner join t3 b on a.id = b.forum inner join
 
140
t1 c on b.id = c.thread
 
141
where 
 
142
match(c.beitrag) against ('+abc' in boolean mode)
 
143
order by 
 
144
match(b.betreff) against ('+abc' in boolean mode) desc;
 
145
ERROR 42S22: Unknown column 'b.betreff' in 'order clause'
 
146
select a.text, b.id, b.betreff
 
147
from 
 
148
t2 a inner join t3 b on a.id = b.forum inner join
 
149
t1 c on b.id = c.thread
 
150
where 
 
151
match(b.betreff) against ('+abc' in boolean mode)
 
152
union
 
153
select a.text, b.id, b.betreff
 
154
from 
 
155
t2 a inner join t3 b on a.id = b.forum inner join
 
156
t1 c on b.id = c.thread
 
157
where 
 
158
match(c.beitrag) against ('+abc' in boolean mode)
 
159
order by 
 
160
match(betreff) against ('+abc' in boolean mode) desc;
 
161
text    id      betreff
 
162
(select b.id, b.betreff from t3 b) union 
 
163
(select b.id, b.betreff from t3 b) 
 
164
order by match(betreff) against ('+abc' in boolean mode) desc;
 
165
id      betreff
 
166
(select b.id, b.betreff from t3 b) union 
 
167
(select b.id, b.betreff from t3 b) 
 
168
order by match(betreff) against ('+abc') desc;
 
169
ERROR HY000: Can't find FULLTEXT index matching the column list
 
170
select distinct b.id, b.betreff from t3 b 
 
171
order by match(betreff) against ('+abc' in boolean mode) desc;
 
172
id      betreff
 
173
select b.id, b.betreff from t3 b group by b.id+1 
 
174
order by match(betreff) against ('+abc' in boolean mode) desc;
 
175
id      betreff
 
176
drop table t1,t2,t3;