diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2002-10-16 16:57:42 +0300 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2002-10-16 16:57:42 +0300 |
commit | df16b3182a210e5e65763f5dc4ea6a34d5457b78 (patch) | |
tree | e8005fa25c90ddd09b6592c35b76c89c324ae509 /mysql-test | |
parent | 3de4f87503d05a1db1ac55a39d238697832e223b (diff) | |
parent | e72ea3548c0a1f34af4f42d6f50b939b344895d7 (diff) | |
download | mariadb-git-df16b3182a210e5e65763f5dc4ea6a34d5457b78.tar.gz |
Merge sinisa@work.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/subselect.result | 28 | ||||
-rw-r--r-- | mysql-test/t/subselect.test | 21 |
2 files changed, 41 insertions, 8 deletions
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index b5b944583da..2dcafe2c9cb 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -1,6 +1,10 @@ select (select 2); (select 2) 2 +SELECT (SELECT 1) UNION SELECT (SELECT 2); +(SELECT 1) +1 +2 drop table if exists t1,t2,t3,t4,t5,attend,clinic,inscrit; create table t1 (a int); create table t2 (a int, b int); @@ -50,9 +54,9 @@ explain select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1) union (select * from t4 where t4.b=(select max(t2.a)*4 from t2) order by a); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 where used +2 SUBSELECT t3 ALL NULL NULL NULL NULL 3 Using filesort 3 UNION t4 ALL NULL NULL NULL NULL 3 where used; Using filesort 4 SUBSELECT t2 ALL NULL NULL NULL NULL 2 -2 SUBSELECT t3 ALL NULL NULL NULL NULL 3 Using filesort select (select a from t3 where a<t2.a*4 order by 1 desc limit 1), a from t2; (select a from t3 where a<t2.a*4 order by 1 desc limit 1) a 3 1 @@ -159,9 +163,7 @@ UNIQUE KEY `email` (`email`) INSERT INTO inscrit (pseudo,email) VALUES ('joce','test'); INSERT INTO inscrit (pseudo,email) VALUES ('joce1','test1'); INSERT INTO inscrit (pseudo,email) VALUES ('2joce1','2test1'); -EXPLAIN SELECT pseudo,(SELECT email FROM inscrit WHERE pseudo=(SELECT -pseudo FROM inscrit WHERE pseudo='joce')) FROM inscrit WHERE pseudo=(SELECT -pseudo FROM inscrit WHERE pseudo='joce'); +EXPLAIN SELECT pseudo,(SELECT email FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo='joce')) FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo='joce'); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY inscrit const PRIMARY PRIMARY 35 const 1 4 SUBSELECT inscrit const PRIMARY PRIMARY 35 const 1 @@ -179,3 +181,21 @@ joce SELECT pseudo FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo LIKE '%joce%'); Subselect returns more than 1 record drop table if exists t1,t2,t3,t4,t5,attend,clinic,inscrit; +drop table if exists searchconthardwarefr3; +CREATE TABLE `searchconthardwarefr3` ( +`topic` mediumint(8) unsigned NOT NULL default '0', +`date` date NOT NULL default '0000-00-00', +`pseudo` varchar(35) character set latin1 NOT NULL default '', +PRIMARY KEY (`pseudo`,`date`,`topic`), +KEY `topic` (`topic`) +) TYPE=MyISAM ROW_FORMAT=DYNAMIC; +INSERT INTO searchconthardwarefr3 (topic,date,pseudo) VALUES +('43506','2002-10-02','joce'),('40143','2002-08-03','joce'); +EXPLAIN SELECT DISTINCT date FROM searchconthardwarefr3 WHERE date='2002-08-03'; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE searchconthardwarefr3 index NULL PRIMARY 41 NULL 2 where used; Using index +EXPLAIN SELECT (SELECT DISTINCT date FROM searchconthardwarefr3 WHERE date='2002-08-03'); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY No tables used +2 SUBSELECT searchconthardwarefr3 index NULL PRIMARY 41 NULL 2 where used; Using index +drop table searchconthardwarefr3; diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index 120cbcbc05f..518ade7fcf7 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -1,5 +1,6 @@ select (select 2); +SELECT (SELECT 1) UNION SELECT (SELECT 2); drop table if exists t1,t2,t3,t4,t5,attend,clinic,inscrit; create table t1 (a int); create table t2 (a int, b int); @@ -82,9 +83,7 @@ CREATE TABLE `inscrit` ( INSERT INTO inscrit (pseudo,email) VALUES ('joce','test'); INSERT INTO inscrit (pseudo,email) VALUES ('joce1','test1'); INSERT INTO inscrit (pseudo,email) VALUES ('2joce1','2test1'); -EXPLAIN SELECT pseudo,(SELECT email FROM inscrit WHERE pseudo=(SELECT -pseudo FROM inscrit WHERE pseudo='joce')) FROM inscrit WHERE pseudo=(SELECT -pseudo FROM inscrit WHERE pseudo='joce'); +EXPLAIN SELECT pseudo,(SELECT email FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo='joce')) FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo='joce'); -- error 1239 SELECT pseudo FROM inscrit WHERE pseudo=(SELECT pseudo,email FROM inscrit WHERE pseudo='joce'); @@ -95,4 +94,18 @@ SELECT pseudo FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo -- error 1240 SELECT pseudo FROM inscrit WHERE pseudo=(SELECT pseudo FROM inscrit WHERE pseudo LIKE '%joce%'); -drop table if exists t1,t2,t3,t4,t5,attend,clinic,inscrit;
\ No newline at end of file +drop table if exists t1,t2,t3,t4,t5,attend,clinic,inscrit; + +drop table if exists searchconthardwarefr3; +CREATE TABLE `searchconthardwarefr3` ( + `topic` mediumint(8) unsigned NOT NULL default '0', + `date` date NOT NULL default '0000-00-00', + `pseudo` varchar(35) character set latin1 NOT NULL default '', + PRIMARY KEY (`pseudo`,`date`,`topic`), + KEY `topic` (`topic`) +) TYPE=MyISAM ROW_FORMAT=DYNAMIC; +INSERT INTO searchconthardwarefr3 (topic,date,pseudo) VALUES +('43506','2002-10-02','joce'),('40143','2002-08-03','joce'); +EXPLAIN SELECT DISTINCT date FROM searchconthardwarefr3 WHERE date='2002-08-03'; +EXPLAIN SELECT (SELECT DISTINCT date FROM searchconthardwarefr3 WHERE date='2002-08-03'); +drop table searchconthardwarefr3;
\ No newline at end of file |