~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/union.test

  • Committer: Stewart Smith
  • Date: 2009-06-17 06:52:49 UTC
  • mto: This revision was merged to the branch mainline in revision 1094.
  • Revision ID: stewart@flamingspork.com-20090617065249-2hx9fbtc2wh2aft5
union.test for MyISAM as temp only.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
(select a,b from t1 limit 2)  union all (select a,b from t2 order by a limit 1) order by b desc;
26
26
--error 1250
27
27
(select a,b from t1 limit 2)  union all (select a,b from t2 order by a limit 1) order by t1.b;
 
28
--replace_column 9 #
28
29
explain extended (select a,b from t1 limit 2)  union all (select a,b from t2 order by a limit 1) order by b desc;
29
30
(select sql_calc_found_rows  a,b from t1 limit 2)  union all (select a,b from t2 order by a) limit 2;
30
31
select found_rows();
35
36
# Test some error conditions with UNION
36
37
#
37
38
 
 
39
--replace_column 9 #
38
40
explain select a,b from t1 union all select a,b from t2;
39
41
 
40
42
--error  1054
101
103
  `same` int NOT NULL default '1',
102
104
  PRIMARY KEY  (`pseudo1`),
103
105
  KEY `pseudo` (`pseudo`)
104
 
) ENGINE=MyISAM;
 
106
);
105
107
INSERT INTO t1 (pseudo,pseudo1,same) VALUES ('joce', 'testtt', 1),('joce', 'tsestset', 1),('dekad', 'joce', 1);
106
108
SELECT pseudo FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo FROM t1 WHERE pseudo='joce';
107
109
SELECT pseudo1 FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo1 FROM t1 WHERE pseudo='joce';
276
278
#
277
279
# Test for another bug with UNION and LEFT JOIN
278
280
#
279
 
CREATE TABLE t1 (  id int default '0') ENGINE=MyISAM;
 
281
CREATE TEMPORARY TABLE t1 (  id int default '0') ENGINE=MyISAM;
280
282
INSERT INTO t1 (id) VALUES("1");
281
 
CREATE TABLE t2 ( id int default '0',  id_master int default '0',  text1 varchar(5) default NULL,  text2 varchar(5) default NULL) ENGINE=MyISAM;
 
283
CREATE TEMPORARY TABLE t2 ( id int default '0',  id_master int default '0',  text1 varchar(5) default NULL,  text2 varchar(5) default NULL) ENGINE=MyISAM;
282
284
INSERT INTO t2 (id, id_master, text1, text2) VALUES("1", "1",
283
285
"foo1", "bar1");
284
286
INSERT INTO t2 (id, id_master, text1, text2) VALUES("2", "1",
490
492
#
491
493
# Column 'name' cannot be null (error with union and left join) (bug #2508)
492
494
#
493
 
create table t1 (   RID int not null default '0',   IID int not null default '0',    nada varchar(50)  not null,NAME varchar(50) not null,PHONE varchar(50) not null) engine=MyISAM;
 
495
create table t1 (   RID int not null default '0',   IID int not null default '0',    nada varchar(50)  not null,NAME varchar(50) not null,PHONE varchar(50) not null);
494
496
insert into t1 ( RID,IID,nada,NAME,PHONE) values (1, 1, 'main', 'a', '111'), (2, 1, 'main', 'b', '222'), (3, 1, 'main', 'c', '333'), (4, 1, 'main', 'd', '444'), (5, 1, 'main', 'e', '555'), (6, 2, 'main', 'c', '333'), (7, 2, 'main', 'd', '454'), (8, 2, 'main', 'e', '555'), (9, 2, 'main', 'f', '666'), (10, 2, 'main', 'g', '777');
495
497
select A.NAME, A.PHONE, B.NAME, B.PHONE from t1 A left join t1 B on A.NAME = B.NAME and B.IID = 2 where A.IID = 1 and (A.PHONE <> B.PHONE or B.NAME is null) union select A.NAME, A.PHONE, B.NAME, B.PHONE from t1 B left join t1 A on B.NAME = A.NAME and A.IID = 1 where B.IID = 2 and (A.PHONE <> B.PHONE or A.NAME is null);
496
498
drop  table t1;