~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/distinct.test

Giant merge.

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
#
48
48
# Problem with distinct without results
49
49
#
50
 
CREATE TABLE t1 (UserId int(11) DEFAULT '0' NOT NULL);
 
50
CREATE TABLE t1 (UserId int DEFAULT '0' NOT NULL);
51
51
INSERT INTO t1 VALUES (20);
52
52
INSERT INTO t1 VALUES (27);
53
53
 
61
61
# Test of distinct
62
62
#
63
63
 
64
 
CREATE TABLE t1 (a int(10) unsigned not null primary key,b int(10) unsigned);
 
64
CREATE TABLE t1 (a int unsigned not null primary key,b int unsigned);
65
65
INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1);
66
 
CREATE TABLE t2 (a int(10) unsigned not null, key (A));
 
66
CREATE TABLE t2 (a int unsigned not null, key (A));
67
67
INSERT INTO t2 VALUES (1),(2);
68
 
CREATE TABLE t3 (a int(10) unsigned, key(A), b text);
 
68
CREATE TABLE t3 (a int unsigned, key(A), b text);
69
69
INSERT INTO t3 VALUES (1,'1'),(2,'2');
70
70
SELECT DISTINCT t3.b FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
71
71
INSERT INTO t2 values (1),(2),(3);
110
110
drop table t1;
111
111
 
112
112
CREATE TABLE t1 (
113
 
  ID int(11) NOT NULL auto_increment,
 
113
  ID int NOT NULL auto_increment,
114
114
  NAME varchar(75) DEFAULT '' NOT NULL,
115
 
  LINK_ID int(11) DEFAULT '0' NOT NULL,
 
115
  LINK_ID int DEFAULT '0' NOT NULL,
116
116
  PRIMARY KEY (ID),
117
117
  KEY NAME (NAME),
118
118
  KEY LINK_ID (LINK_ID)
121
121
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0),(2,'Jack',0),(3,'Bill',0);
122
122
 
123
123
CREATE TABLE t2 (
124
 
  ID int(11) NOT NULL auto_increment,
 
124
  ID int NOT NULL auto_increment,
125
125
  NAME varchar(150) DEFAULT '' NOT NULL,
126
126
  PRIMARY KEY (ID),
127
127
  KEY NAME (NAME)
257
257
# test with table.* in DISTINCT
258
258
#
259
259
 
260
 
CREATE TABLE t1 (privatemessageid int(10) unsigned NOT NULL auto_increment,  folderid smallint(6) NOT NULL default '0',  userid int(10) unsigned NOT NULL default '0',  touserid int(10) unsigned NOT NULL default '0',  fromuserid int(10) unsigned NOT NULL default '0',  title varchar(250) NOT NULL default '',  message mediumtext NOT NULL,  dateline int(10) unsigned NOT NULL default '0',  showsignature smallint(6) NOT NULL default '0',  iconid smallint(5) unsigned NOT NULL default '0',  messageread smallint(6) NOT NULL default '0',  readtime int(10) unsigned NOT NULL default '0',  receipt smallint(6) unsigned NOT NULL default '0',  deleteprompt smallint(6) unsigned NOT NULL default '0',  multiplerecipients smallint(6) unsigned NOT NULL default '0',  PRIMARY KEY  (privatemessageid),  KEY userid (userid)) ENGINE=MyISAM;
 
260
CREATE TABLE t1 (privatemessageid int unsigned NOT NULL auto_increment,  folderid smallint NOT NULL default '0',  userid int unsigned NOT NULL default '0',  touserid int unsigned NOT NULL default '0',  fromuserid int unsigned NOT NULL default '0',  title varchar(250) NOT NULL default '',  message mediumtext NOT NULL,  dateline int unsigned NOT NULL default '0',  showsignature smallint NOT NULL default '0',  iconid smallint unsigned NOT NULL default '0',  messageread smallint NOT NULL default '0',  readtime int unsigned NOT NULL default '0',  receipt smallint unsigned NOT NULL default '0',  deleteprompt smallint unsigned NOT NULL default '0',  multiplerecipients smallint unsigned NOT NULL default '0',  PRIMARY KEY  (privatemessageid),  KEY userid (userid)) ENGINE=MyISAM;
261
261
INSERT INTO t1 VALUES (128,0,33,33,8,':D','',996121863,1,0,2,996122850,2,0,0);
262
 
CREATE TABLE t2 (userid int(10) unsigned NOT NULL auto_increment,  usergroupid smallint(5) unsigned NOT NULL default '0',  username varchar(50) NOT NULL default '',  password varchar(50) NOT NULL default '',  email varchar(50) NOT NULL default '',  styleid smallint(5) unsigned NOT NULL default '0',  parentemail varchar(50) NOT NULL default '',  coppauser smallint(6) 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 smallint(6) NOT NULL default '0',  showemail smallint(6) NOT NULL default '0',  invisible smallint(6) NOT NULL default '0',  usertitle varchar(250) NOT NULL default '',  customtitle smallint(6) NOT NULL default '0',  joindate int(10) unsigned NOT NULL default '0',  cookieuser smallint(6) NOT NULL default '0',  daysprune smallint(6) NOT NULL default '0',  lastvisit int(10) unsigned NOT NULL default '0',  lastactivity int(10) unsigned NOT NULL default '0',  lastpost int(10) unsigned NOT NULL default '0',  posts smallint(5) unsigned NOT NULL default '0',  timezoneoffset varchar(4) NOT NULL default '',  emailnotification smallint(6) NOT NULL default '0',  buddylist mediumtext NOT NULL,  ignorelist mediumtext NOT NULL,  pmfolders mediumtext NOT NULL,  receivepm smallint(6) NOT NULL default '0',  emailonpm smallint(6) NOT NULL default '0',  pmpopup smallint(6) NOT NULL default '0',  avatarid smallint(6) NOT NULL default '0',  avatarrevision int(6) unsigned NOT NULL default '0',  options smallint(6) NOT NULL default '15',  birthday date NOT NULL default '0000-00-00',  maxposts smallint(6) NOT NULL default '-1',  startofweek smallint(6) NOT NULL default '1',  ipaddress varchar(20) NOT NULL default '',  referrerid int(10) unsigned NOT NULL default '0',  nosessionhash smallint(6) NOT NULL default '0',  autorefresh smallint(6) NOT NULL default '-1',  messagepopup tinyint(2) NOT NULL default '0',  inforum smallint(5) unsigned NOT NULL default '0',  ratenum smallint(5) unsigned NOT NULL default '0',  ratetotal smallint(5) unsigned NOT NULL default '0',  allowrate smallint(5) unsigned NOT NULL default '1',  PRIMARY KEY  (userid),  KEY usergroupid (usergroupid),  KEY username (username),  KEY inforum (inforum)) ENGINE=MyISAM;
 
262
CREATE TABLE t2 (userid int unsigned NOT NULL auto_increment,  usergroupid smallint unsigned NOT NULL default '0',  username varchar(50) NOT NULL default '',  password varchar(50) NOT NULL default '',  email varchar(50) NOT NULL default '',  styleid smallint unsigned NOT NULL default '0',  parentemail varchar(50) NOT NULL default '',  coppauser smallint 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 smallint NOT NULL default '0',  showemail smallint NOT NULL default '0',  invisible smallint NOT NULL default '0',  usertitle varchar(250) NOT NULL default '',  customtitle smallint NOT NULL default '0',  joindate int unsigned NOT NULL default '0',  cookieuser smallint NOT NULL default '0',  daysprune smallint NOT NULL default '0',  lastvisit int unsigned NOT NULL default '0',  lastactivity int unsigned NOT NULL default '0',  lastpost int unsigned NOT NULL default '0',  posts smallint unsigned NOT NULL default '0',  timezoneoffset varchar(4) NOT NULL default '',  emailnotification smallint NOT NULL default '0',  buddylist mediumtext NOT NULL,  ignorelist mediumtext NOT NULL,  pmfolders mediumtext NOT NULL,  receivepm smallint NOT NULL default '0',  emailonpm smallint NOT NULL default '0',  pmpopup smallint NOT NULL default '0',  avatarid smallint NOT NULL default '0',  avatarrevision int unsigned NOT NULL default '0',  options smallint NOT NULL default '15',  birthday date NOT NULL default '0000-00-00',  maxposts smallint NOT NULL default '-1',  startofweek smallint NOT NULL default '1',  ipaddress varchar(20) NOT NULL default '',  referrerid int unsigned NOT NULL default '0',  nosessionhash smallint NOT NULL default '0',  autorefresh smallint NOT NULL default '-1',  messagepopup tinyint NOT NULL default '0',  inforum smallint unsigned NOT NULL default '0',  ratenum smallint unsigned NOT NULL default '0',  ratetotal smallint unsigned NOT NULL default '0',  allowrate smallint unsigned NOT NULL default '1',  PRIMARY KEY  (userid),  KEY usergroupid (usergroupid),  KEY username (username),  KEY inforum (inforum)) ENGINE=MyISAM;
263
263
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,'0000-00-00',-1,1,'64.0.0.0',0,1,-1,0,0,4,19,1);
264
264
SELECT DISTINCT t1.*, t2.* FROM t1 LEFT JOIN t2 ON (t2.userid = t1.touserid);
265
265
DROP TABLE t1,t2;
279
279
# Test of LEFT() with distinct
280
280
#
281
281
 
282
 
CREATE table t1 (  `id` int(11) NOT NULL auto_increment,  `name` varchar(50) NOT NULL default '',  PRIMARY KEY  (`id`)) ENGINE=MyISAM AUTO_INCREMENT=3 ;
 
282
CREATE table t1 (  `id` int NOT NULL auto_increment,  `name` varchar(50) NOT NULL default '',  PRIMARY KEY  (`id`)) ENGINE=MyISAM AUTO_INCREMENT=3 ;
283
283
INSERT INTO t1 VALUES (1, 'aaaaa');
284
284
INSERT INTO t1 VALUES (3, 'aaaaa');
285
285
INSERT INTO t1 VALUES (2, 'eeeeeee');
291
291
#
292
292
 
293
293
CREATE TABLE t1 (
294
 
  ID int(11) NOT NULL auto_increment,
 
294
  ID int NOT NULL auto_increment,
295
295
  NAME varchar(75) DEFAULT '' NOT NULL,
296
 
  LINK_ID int(11) DEFAULT '0' NOT NULL,
 
296
  LINK_ID int DEFAULT '0' NOT NULL,
297
297
  PRIMARY KEY (ID),
298
298
  KEY NAME (NAME),
299
299
  KEY LINK_ID (LINK_ID)
304
304
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (3,'Bill',0);
305
305
 
306
306
CREATE TABLE t2 (
307
 
  ID int(11) NOT NULL auto_increment,
 
307
  ID int NOT NULL auto_increment,
308
308
  NAME varchar(150) DEFAULT '' NOT NULL,
309
309
  PRIMARY KEY (ID),
310
310
  KEY NAME (NAME)
325
325
 
326
326
CREATE TABLE t1 (
327
327
  html varchar(5) default NULL,
328
 
  rin int(11) default '0',
329
 
  rout int(11) default '0'
 
328
  rin int default '0',
 
329
  rout int default '0'
330
330
) ENGINE=MyISAM;
331
331
 
332
332
INSERT INTO t1 VALUES ('1',1,0);
404
404
# Bug #15745 ( COUNT(DISTINCT CONCAT(x,y)) returns wrong result)
405
405
#
406
406
CREATE TABLE t1 (
407
 
  ID int(11) NOT NULL auto_increment,
 
407
  ID int NOT NULL auto_increment,
408
408
  x varchar(20) default NULL,
409
409
  y decimal(10,0) default NULL,
410
410
  PRIMARY KEY  (ID),