~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/distinct.test

  • Committer: Monty Taylor
  • Date: 2008-07-26 16:22:28 UTC
  • mto: (236.1.42 codestyle)
  • mto: This revision was merged to the branch mainline in revision 261.
  • Revision ID: monty@inaugust.com-20080726162228-atatk41l6w4np70m
Added gettext calls in to my_getopt.c and drizzle.c

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
# Bug with distinct and INSERT INTO
3
 
# Bug with group by and not used fields
4
 
#
5
 
 
6
 
--disable_warnings
7
 
drop table if exists t1,t2,t3;
8
 
--enable_warnings
9
 
 
10
 
CREATE TABLE t1 (id int,facility char(20));
11
 
CREATE TABLE t2 (facility char(20));
12
 
INSERT INTO t1 VALUES (NULL,NULL);
13
 
INSERT INTO t1 VALUES (-1,'');
14
 
INSERT INTO t1 VALUES (0,'');
15
 
INSERT INTO t1 VALUES (1,'/L');
16
 
INSERT INTO t1 VALUES (2,'A01');
17
 
INSERT INTO t1 VALUES (3,'ANC');
18
 
INSERT INTO t1 VALUES (4,'F01');
19
 
INSERT INTO t1 VALUES (5,'FBX');
20
 
INSERT INTO t1 VALUES (6,'MT');
21
 
INSERT INTO t1 VALUES (7,'P');
22
 
INSERT INTO t1 VALUES (8,'RV');
23
 
INSERT INTO t1 VALUES (9,'SRV');
24
 
INSERT INTO t1 VALUES (10,'VMT');
25
 
INSERT INTO t2 SELECT DISTINCT FACILITY FROM t1;
26
 
 
27
 
select id from t1 group by id;
28
 
select * from t1 order by id;
29
 
select id-5,facility from t1 order by "id-5";
30
 
select id,concat(facility) from t1 group by id ;
31
 
select id+0 as a,max(id),concat(facility) as b from t1 group by a order by b desc,a;
32
 
select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
33
 
 
34
 
SELECT DISTINCT FACILITY FROM t1;
35
 
SELECT FACILITY FROM t2;
36
 
SELECT count(*) from t1,t2 where t1.facility=t2.facility;
37
 
select count(facility) from t1;
38
 
select count(*) from t1;
39
 
select count(*) from t1 where facility IS NULL;
40
 
select count(*) from t1 where facility = NULL;
41
 
select count(*) from t1 where facility IS NOT NULL;
42
 
select count(*) from t1 where id IS NULL;
43
 
select count(*) from t1 where id IS NOT NULL;
44
 
 
45
 
drop table t1,t2;
46
 
 
47
 
#
48
 
# Problem with distinct without results
49
 
#
50
 
CREATE TABLE t1 (UserId int DEFAULT '0' NOT NULL);
51
 
INSERT INTO t1 VALUES (20);
52
 
INSERT INTO t1 VALUES (27);
53
 
 
54
 
SELECT UserId FROM t1 WHERE Userid=22;
55
 
SELECT UserId FROM t1 WHERE UserId=22 group by Userid;
56
 
SELECT DISTINCT UserId FROM t1 WHERE UserId=22 group by Userid;
57
 
SELECT DISTINCT UserId FROM t1 WHERE UserId=22;
58
 
drop table t1;
59
 
 
60
 
#
61
 
# Test of distinct
62
 
#
63
 
 
64
 
CREATE TABLE t1 (a int not null primary key,b int);
65
 
INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1);
66
 
CREATE TABLE t2 (a int not null, key (A));
67
 
INSERT INTO t2 VALUES (1),(2);
68
 
CREATE TABLE t3 (a int, key(A), b text);
69
 
INSERT INTO t3 VALUES (1,'1'),(2,'2');
70
 
SELECT DISTINCT t3.b FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
71
 
INSERT INTO t2 values (1),(2),(3);
72
 
INSERT INTO t3 VALUES (1,'1'),(2,'2'),(1,'1'),(2,'2');
73
 
explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
74
 
SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
75
 
 
76
 
# Create a lot of data into t3;
77
 
create temporary table t4 select * from t3;
78
 
insert into t3 select * from t4;
79
 
insert into t4 select * from t3;
80
 
insert into t3 select * from t4;
81
 
insert into t4 select * from t3;
82
 
insert into t3 select * from t4;
83
 
insert into t4 select * from t3;
84
 
insert into t3 select * from t4;
85
 
 
86
 
explain select distinct t1.a from t1,t3 where t1.a=t3.a;
87
 
#flush status;
88
 
select distinct t1.a from t1,t3 where t1.a=t3.a;
89
 
--replace_column 2 #
90
 
show status like 'Handler%';
91
 
flush status;
92
 
select distinct 1 from t1,t3 where t1.a=t3.a;
93
 
--replace_column 2 #
94
 
show status like 'Handler%';
95
 
 
96
 
explain SELECT distinct t1.a from t1;
97
 
explain SELECT distinct t1.a from t1 order by a desc;
98
 
explain SELECT t1.a from t1 group by a order by a desc;
99
 
explain SELECT distinct t1.a from t1 order by a desc limit 1;
100
 
explain SELECT distinct a from t3 order by a desc limit 2;
101
 
explain SELECT distinct a,b from t3 order by a+1;
102
 
explain SELECT distinct a,b from t3 order by a limit 2;
103
 
explain SELECT a,b from t3 group by a,b order by a+1;
104
 
 
105
 
drop table t1,t2,t3,t4;
106
 
 
107
 
CREATE TABLE t1 (name varchar(255));
108
 
INSERT INTO t1 VALUES ('aa'),('ab'),('ac'),('ad'),('ae');
109
 
SELECT DISTINCT * FROM t1 LIMIT 2;
110
 
SELECT DISTINCT name FROM t1 LIMIT 2;
111
 
SELECT DISTINCT 1 FROM t1 LIMIT 2;
112
 
drop table t1;
113
 
 
114
 
CREATE TABLE t1 (
115
 
  ID int NOT NULL auto_increment,
116
 
  NAME varchar(75) DEFAULT '' NOT NULL,
117
 
  LINK_ID int DEFAULT '0' NOT NULL,
118
 
  PRIMARY KEY (ID),
119
 
  KEY NAME (NAME),
120
 
  KEY LINK_ID (LINK_ID)
121
 
);
122
 
 
123
 
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0),(2,'Jack',0),(3,'Bill',0);
124
 
 
125
 
CREATE TABLE t2 (
126
 
  ID int NOT NULL auto_increment,
127
 
  NAME varchar(150) DEFAULT '' NOT NULL,
128
 
  PRIMARY KEY (ID),
129
 
  KEY NAME (NAME)
130
 
);
131
 
 
132
 
SELECT DISTINCT
133
 
    t2.id AS key_link_id,
134
 
    t2.name AS link
135
 
FROM t1
136
 
LEFT JOIN t2 ON t1.link_id=t2.id
137
 
GROUP BY t1.id
138
 
ORDER BY link;
139
 
drop table t1,t2;
140
 
 
141
 
#
142
 
# Problem with table dependencies
143
 
#
144
 
 
145
 
create table t1 (
146
 
    id          int not null,
147
 
    name        tinytext not null,
148
 
    unique      (id)
149
 
);
150
 
create table t2 (
151
 
    id          int not null,
152
 
    idx         int not null,
153
 
    unique      (id, idx)
154
 
);
155
 
create table t3 (
156
 
    id          int not null,
157
 
    idx         int not null,
158
 
    unique      (id, idx)
159
 
);
160
 
insert into t1 values (1,'yes'), (2,'no');
161
 
insert into t2 values (1,1);
162
 
insert into t3 values (1,1);
163
 
EXPLAIN
164
 
SELECT DISTINCT
165
 
    t1.id
166
 
from
167
 
    t1
168
 
    straight_join
169
 
    t2
170
 
    straight_join
171
 
    t3
172
 
    straight_join
173
 
    t1 as j_lj_t2 left join t2 as t2_lj
174
 
        on j_lj_t2.id=t2_lj.id
175
 
    straight_join
176
 
    t1 as j_lj_t3 left join t3 as t3_lj
177
 
        on j_lj_t3.id=t3_lj.id
178
 
WHERE
179
 
    ((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
180
 
    AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
181
 
SELECT DISTINCT
182
 
    t1.id
183
 
from
184
 
    t1
185
 
    straight_join
186
 
    t2
187
 
    straight_join
188
 
    t3
189
 
    straight_join
190
 
    t1 as j_lj_t2 left join t2 as t2_lj
191
 
        on j_lj_t2.id=t2_lj.id
192
 
    straight_join
193
 
    t1 as j_lj_t3 left join t3 as t3_lj
194
 
        on j_lj_t3.id=t3_lj.id
195
 
WHERE
196
 
    ((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
197
 
    AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
198
 
drop table t1,t2,t3;
199
 
 
200
 
#
201
 
# Test problem with DISTINCT and HAVING
202
 
#
203
 
create table t1 (a int not null,b char(5), c text);
204
 
insert into t1 (a) values (1),(2),(3),(4),(1),(2),(3),(4);
205
 
select distinct a from t1 group by b,a having a > 2 order by a desc;
206
 
select distinct a,c from t1 group by b,c,a having a > 2 order by a desc;
207
 
drop table t1;
208
 
 
209
 
#
210
 
# Test problem with DISTINCT and ORDER BY DESC
211
 
#
212
 
 
213
 
create table t1 (a char(1), key(a));
214
 
insert into t1 values('1'),('1');
215
 
select * from t1 where a >= '1'; 
216
 
select distinct a from t1 order by a desc;
217
 
select distinct a from t1 where a >= '1' order by a desc;
218
 
drop table t1;
219
 
 
220
 
#
221
 
# Test when using a not previously used column in ORDER BY
222
 
#
223
 
 
224
 
CREATE TABLE t1 (email varchar(50), infoID BIGINT, dateentered DATETIME);
225
 
CREATE TABLE t2 (infoID BIGINT, shipcode varchar(10));
226
 
 
227
 
INSERT INTO t1 (email, infoID, dateentered) VALUES
228
 
      ('test1@testdomain.com', 1, '2002-07-30 22:56:38'),
229
 
      ('test1@testdomain.com', 1, '2002-07-27 22:58:16'),
230
 
      ('test2@testdomain.com', 1, '2002-06-19 15:22:19'),
231
 
      ('test2@testdomain.com', 2, '2002-06-18 14:23:47'),
232
 
      ('test3@testdomain.com', 1, '2002-05-19 22:17:32');
233
 
 
234
 
INSERT INTO t2(infoID, shipcode) VALUES
235
 
      (1, 'Z001'),
236
 
      (2, 'R002');
237
 
 
238
 
--sorted_result
239
 
SELECT DISTINCTROW email, shipcode FROM t1, t2 WHERE t1.infoID=t2.infoID;
240
 
SELECT DISTINCTROW email FROM t1 ORDER BY dateentered DESC;
241
 
SELECT DISTINCTROW email, shipcode FROM t1, t2 WHERE t1.infoID=t2.infoID ORDER BY dateentered DESC;
242
 
drop table t1,t2;
243
 
 
244
 
#
245
 
# test with table.* in DISTINCT
246
 
#
247
 
 
248
 
CREATE TABLE t1 (privatemessageid int NOT NULL auto_increment,  folderid int NOT NULL default '0',  userid int NOT NULL default '0',  touserid int NOT NULL default '0',  fromuserid int NOT NULL default '0',  title varchar(250) NOT NULL default '',  message mediumtext NOT NULL,  dateline int NOT NULL default '0',  showsignature int NOT NULL default '0',  iconid int NOT NULL default '0',  messageread int NOT NULL default '0',  readtime int NOT NULL default '0',  receipt int NOT NULL default '0',  deleteprompt int NOT NULL default '0',  multiplerecipients int NOT NULL default '0',  PRIMARY KEY  (privatemessageid),  KEY userid (userid));
249
 
INSERT INTO t1 VALUES (128,0,33,33,8,':D','',996121863,1,0,2,996122850,2,0,0);
250
 
CREATE TABLE t2 (userid int NOT NULL auto_increment,  usergroupid int NOT NULL default '0',  username varchar(50) NOT NULL default '',  password varchar(50) NOT NULL default '',  email varchar(50) NOT NULL default '',  styleid int NOT NULL default '0',  parentemail varchar(50) NOT NULL default '',  coppauser int NOT NULL default '0',  homepage varchar(100) NOT NULL default '',  icq varchar(20) NOT NULL default '',  aim varchar(20) NOT NULL default '',  yahoo varchar(20) NOT NULL default '',  signature mediumtext NOT NULL,  adminemail int NOT NULL default '0',  showemail int NOT NULL default '0',  invisible int NOT NULL default '0',  usertitle varchar(250) NOT NULL default '',  customtitle int NOT NULL default '0',  joindate int NOT NULL default '0',  cookieuser int NOT NULL default '0',  daysprune int NOT NULL default '0',  lastvisit int NOT NULL default '0',  lastactivity int NOT NULL default '0',  lastpost int NOT NULL default '0',  posts int NOT NULL default '0',  timezoneoffset varchar(4) NOT NULL default '',  emailnotification int NOT NULL default '0',  buddylist mediumtext NOT NULL,  ignorelist mediumtext NOT NULL,  pmfolders mediumtext NOT NULL,  receivepm int NOT NULL default '0',  emailonpm int NOT NULL default '0',  pmpopup int NOT NULL default '0',  avatarid int NOT NULL default '0',  avatarrevision int NOT NULL default '0',  options int NOT NULL default '15',  birthday date NULL,  maxposts int NOT NULL default '-1',  startofweek int NOT NULL default '1',  ipaddress varchar(20) NOT NULL default '',  referrerid int NOT NULL default '0',  nosessionhash int NOT NULL default '0',  autorefresh int NOT NULL default '-1',  messagepopup int NOT NULL default '0',  inforum int NOT NULL default '0',  ratenum int NOT NULL default '0',  ratetotal int NOT NULL default '0',  allowrate int NOT NULL default '1',  PRIMARY KEY  (userid),  KEY usergroupid (usergroupid),  KEY username (username),  KEY inforum (inforum));
251
 
INSERT INTO t2 VALUES (33,6,'Kevin','0','kevin@stileproject.com',1,'',0,'http://www.stileproject.com','','','','',1,1,0,'Administrator',0,996120694,1,-1,1030996168,1031027028,1030599436,36,'-6',0,'','','',1,0,1,0,0,15,NULL,-1,1,'64.0.0.0',0,1,-1,0,0,4,19,1);
252
 
SELECT DISTINCT t1.*, t2.* FROM t1 LEFT JOIN t2 ON (t2.userid = t1.touserid);
253
 
DROP TABLE t1,t2;
254
 
 
255
 
#
256
 
# test with const_item in ORDER BY
257
 
#
258
 
 
259
 
CREATE TABLE t1 (a int primary key, b int, c int);
260
 
INSERT t1 VALUES (1,2,3);
261
 
CREATE TABLE t2 (a int primary key, b int, c int);
262
 
INSERT t2 VALUES (3,4,5);
263
 
SELECT DISTINCT t1.a, t2.b FROM t1, t2 WHERE t1.a=1 ORDER BY t2.c;
264
 
DROP TABLE t1,t2;
265
 
 
266
 
#
267
 
# Test of LEFT() with distinct
268
 
#
269
 
 
270
 
CREATE table t1 (  `id` int NOT NULL auto_increment,  `name` varchar(50) NOT NULL default '',  PRIMARY KEY  (`id`)) AUTO_INCREMENT=3 ;
271
 
INSERT INTO t1 VALUES (1, 'aaaaa');
272
 
INSERT INTO t1 VALUES (3, 'aaaaa');
273
 
INSERT INTO t1 VALUES (2, 'eeeeeee');
274
 
select distinct left(name,1) as name from t1;
275
 
drop  table t1; 
276
 
 
277
 
#
278
 
# Test case from sel000100
279
 
#
280
 
 
281
 
CREATE TABLE t1 (
282
 
  ID int NOT NULL auto_increment,
283
 
  NAME varchar(75) DEFAULT '' NOT NULL,
284
 
  LINK_ID int DEFAULT '0' NOT NULL,
285
 
  PRIMARY KEY (ID),
286
 
  KEY NAME (NAME),
287
 
  KEY LINK_ID (LINK_ID)
288
 
);
289
 
 
290
 
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0);
291
 
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (2,'Jack',0);
292
 
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (3,'Bill',0);
293
 
 
294
 
CREATE TABLE t2 (
295
 
  ID int NOT NULL auto_increment,
296
 
  NAME varchar(150) DEFAULT '' NOT NULL,
297
 
  PRIMARY KEY (ID),
298
 
  KEY NAME (NAME)
299
 
);
300
 
 
301
 
SELECT DISTINCT
302
 
    t2.id AS key_link_id,
303
 
    t2.name AS link
304
 
FROM t1
305
 
LEFT JOIN t2 ON t1.link_id=t2.id
306
 
GROUP BY t1.id
307
 
ORDER BY link;
308
 
drop table t1,t2;
309
 
 
310
 
#
311
 
# test case for #674
312
 
#
313
 
 
314
 
CREATE TABLE t1 (
315
 
  html varchar(5) default NULL,
316
 
  rin int default '0',
317
 
  rout int default '0'
318
 
);
319
 
 
320
 
INSERT INTO t1 VALUES ('1',1,0);
321
 
SELECT DISTINCT html,SUM(rout)/(SUM(rin)+1) as 'prod' FROM t1 GROUP BY rin;
322
 
drop table t1;
323
 
 
324
 
#
325
 
# Test cases for #12625: DISTINCT for a list with constants
326
 
#
327
 
 
328
 
CREATE TABLE t1 (a int);
329
 
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
330
 
SELECT DISTINCT a, 1 FROM t1;
331
 
SELECT DISTINCT 1, a FROM t1;
332
 
 
333
 
CREATE TABLE t2 (a int, b int); 
334
 
INSERT INTO t2 VALUES (1,1),(2,2),(2,3),(2,4),(3,5);
335
 
SELECT DISTINCT a, b, 2 FROM t2;
336
 
SELECT DISTINCT 2, a, b FROM t2;
337
 
SELECT DISTINCT a, 2, b FROM t2;
338
 
 
339
 
DROP TABLE t1,t2;
340
 
#
341
 
# Bug#16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" 
342
 
#   error.
343
 
#
344
 
CREATE TABLE t1(a INT PRIMARY KEY, b INT);
345
 
INSERT INTO t1 VALUES (1,1), (2,1), (3,1);
346
 
EXPLAIN SELECT DISTINCT a FROM t1;
347
 
EXPLAIN SELECT DISTINCT a,b FROM t1;
348
 
--error ER_CARTESIAN_JOIN_ATTEMPTED
349
 
EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2;
350
 
--sorted_result
351
 
EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2
352
 
  WHERE t1_1.a = t1_2.a;
353
 
EXPLAIN SELECT a FROM t1 GROUP BY a;
354
 
EXPLAIN SELECT a,b FROM t1 GROUP BY a,b;
355
 
EXPLAIN SELECT DISTINCT a,b FROM t1 GROUP BY a,b;
356
 
 
357
 
CREATE TABLE t2(a INT, b INT NOT NULL, c INT NOT NULL, d INT, 
358
 
                PRIMARY KEY (a,b));
359
 
INSERT INTO t2 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
360
 
EXPLAIN SELECT DISTINCT a FROM t2;
361
 
EXPLAIN SELECT DISTINCT a,a FROM t2;
362
 
EXPLAIN SELECT DISTINCT b,a FROM t2;
363
 
EXPLAIN SELECT DISTINCT a,c FROM t2;
364
 
EXPLAIN SELECT DISTINCT c,a,b FROM t2;
365
 
 
366
 
EXPLAIN SELECT DISTINCT a,b,d FROM t2 GROUP BY c,b,d;
367
 
CREATE UNIQUE INDEX c_b_unq ON t2 (c,b);
368
 
EXPLAIN SELECT DISTINCT a,b,d FROM t2 GROUP BY c,b,d;
369
 
 
370
 
DROP TABLE t1,t2;
371
 
 
372
 
# Bug 9784 DISTINCT IFNULL truncates data
373
 
#
374
 
create table t1 (id int, dsc varchar(50));
375
 
insert into t1 values (1, "line number one"), (2, "line number two"), (3, "line number three");
376
 
select distinct id, IFNULL(dsc, '-') from t1;
377
 
drop table t1;
378
 
 
379
 
#
380
 
# Bug 21456: SELECT DISTINCT(x) produces incorrect results when using order by
381
 
#
382
 
CREATE TABLE t1 (a int primary key, b int);
383
 
 
384
 
INSERT INTO t1 (a,b) values (1,1), (2,3), (3,2);
385
 
 
386
 
explain SELECT DISTINCT a, b FROM t1 ORDER BY b;
387
 
SELECT DISTINCT a, b FROM t1 ORDER BY b;
388
 
DROP TABLE t1;
389
 
 
390
 
# End of 4.1 tests
391
 
 
392
 
 
393
 
#
394
 
# Bug #15745 ( COUNT(DISTINCT CONCAT(x,y)) returns wrong result)
395
 
#
396
 
CREATE TABLE t1 (
397
 
  ID int NOT NULL auto_increment,
398
 
  x varchar(20) default NULL,
399
 
  y decimal(10,0) default NULL,
400
 
  PRIMARY KEY  (ID),
401
 
  KEY (y)
402
 
);
403
 
 
404
 
INSERT INTO t1 VALUES
405
 
(1,'ba','-1'),
406
 
(2,'ba','1150'),
407
 
(306,'ba','-1'),
408
 
(307,'ba','1150'),
409
 
(611,'ba','-1'),
410
 
(612,'ba','1150');
411
 
 
412
 
select count(distinct x,y) from t1;
413
 
select count(distinct concat(x,y)) from t1;
414
 
drop table t1;
415
 
 
416
 
#
417
 
# Bug #18068: SELECT DISTINCT
418
 
#
419
 
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b));
420
 
 
421
 
INSERT INTO t1 VALUES (1, 101);
422
 
INSERT INTO t1 SELECT a + 1, a + 101 FROM t1;
423
 
INSERT INTO t1 SELECT a + 2, a + 102 FROM t1;
424
 
INSERT INTO t1 SELECT a + 4, a + 104 FROM t1;
425
 
INSERT INTO t1 SELECT a + 8, a + 108 FROM t1;
426
 
 
427
 
EXPLAIN SELECT DISTINCT a,a FROM t1 WHERE b < 12 ORDER BY a;
428
 
SELECT DISTINCT a,a FROM t1 WHERE b < 12 ORDER BY a;
429
 
 
430
 
DROP TABLE t1;
431
 
 
432
 
#
433
 
# Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
434
 
#
435
 
CREATE TABLE t1 (a INT, UNIQUE (a));
436
 
INSERT INTO t1 VALUES (4),(null),(2),(1),(null),(3);
437
 
EXPLAIN SELECT DISTINCT a FROM t1;
438
 
#result must have one row with NULL
439
 
SELECT DISTINCT a FROM t1;
440
 
EXPLAIN SELECT a FROM t1 GROUP BY a;
441
 
#result must have one row with NULL
442
 
SELECT a FROM t1 GROUP BY a;
443
 
 
444
 
DROP TABLE t1;
445
 
 
446
 
#
447
 
#Bug #27659: SELECT DISTINCT returns incorrect result set when field is
448
 
#repeated
449
 
#
450
 
#
451
 
CREATE TABLE t1 (a INT, b INT);
452
 
INSERT INTO t1 VALUES(1,1),(1,2),(1,3);
453
 
SELECT DISTINCT a, b FROM t1;
454
 
SELECT DISTINCT a, a, b FROM t1;
455
 
DROP TABLE t1;
456
 
 
457
 
--echo End of 5.0 tests
458
 
 
459
 
#
460
 
# Bug #34928: Confusion by having Primary Key and Index
461
 
#
462
 
CREATE TABLE t1(a INT, b INT, c INT, d INT DEFAULT 0, e INT DEFAULT 0,
463
 
                PRIMARY KEY(a,b,c,d,e),
464
 
                KEY(a,b,d,c)
465
 
);
466
 
 
467
 
INSERT INTO t1(a, b, c) VALUES (1, 1, 1),
468
 
                               (1, 1, 2),
469
 
                               (1, 1, 3),
470
 
                               (1, 2, 1),
471
 
                               (1, 2, 2),
472
 
                               (1, 2, 3);
473
 
 
474
 
EXPLAIN SELECT DISTINCT a, b, d, c FROM t1;
475
 
 
476
 
SELECT DISTINCT a, b, d, c FROM t1;
477
 
 
478
 
DROP TABLE t1;
479
 
 
480
 
--echo End of 5.1 tests