diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2002-11-28 19:19:21 +0200 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2002-11-28 19:19:21 +0200 |
commit | 802705f957011aebbb03ca988080f914bf39a57e (patch) | |
tree | ef66c94bfc0bceb424a8ce8e01edf84b701cb6d2 /mysql-test | |
parent | 3284c39a1fca442cd4f803df0245e248a349bd16 (diff) | |
download | mariadb-git-802705f957011aebbb03ca988080f914bf39a57e.tar.gz |
adding mandatory aliases for derived tables as per SQL-99
doing it in sql_yacc.yy does not work
this commit contains fixes for other tests
there are fixes in subselect test which will have to be changed
once fix_fields is fixed to work with aliased derived tables
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/derived.result | 24 | ||||
-rw-r--r-- | mysql-test/r/group_by.result | 2 | ||||
-rw-r--r-- | mysql-test/r/select_found.result | 2 | ||||
-rw-r--r-- | mysql-test/r/subselect.result | 28 | ||||
-rw-r--r-- | mysql-test/t/derived.test | 22 | ||||
-rw-r--r-- | mysql-test/t/group_by.test | 2 | ||||
-rw-r--r-- | mysql-test/t/select_found.test | 2 | ||||
-rw-r--r-- | mysql-test/t/subselect.test | 20 |
8 files changed, 51 insertions, 51 deletions
diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result index b397c2f7635..10d86f7107a 100644 --- a/mysql-test/r/derived.result +++ b/mysql-test/r/derived.result @@ -17,32 +17,32 @@ select t1.a,t4.y from t1,(select t2.a as y from t2,(select t3.b from t3 where t3 a y 3 3 3 3 -SELECT a FROM (SELECT 1 FROM (SELECT 1) HAVING a=1); +SELECT a FROM (SELECT 1 FROM (SELECT 1) a HAVING a=1) b; Unknown column 'a' in 'having clause' -SELECT a,b as a FROM (SELECT '1' as a,'2' as b) HAVING a=1; +SELECT a,b as a FROM (SELECT '1' as a,'2' as b) b HAVING a=1; Column: 'a' in having clause is ambiguous -SELECT a,2 as a FROM (SELECT '1' as a) HAVING a=2; +SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=2; a a 1 2 -SELECT a,2 as a FROM (SELECT '1' as a) HAVING a=1; +SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1; a a -SELECT 1 FROM (SELECT 1) WHERE a=2; +SELECT 1 FROM (SELECT 1) a WHERE a=2; Unknown column 'a' in 'where clause' -SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1); +SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a; Unknown column 'a' in 'having clause' drop table if exists t1.t2,t3; -select * from (select 1); +select * from (select 1) as a; 1 1 -select a from (select 1 as a); +select a from (select 1 as a) as b; a 1 -select 1 from (select 1); +select 1 from (select 1) as a; 1 1 drop table if exists t1; create table t1(a int not null, t char(8), index(a)); -SELECT * FROM (SELECT * FROM t1) ORDER BY a ASC LIMIT 0,20; +SELECT * FROM (SELECT * FROM t1) as b ORDER BY a ASC LIMIT 0,20; a t 1 1 2 2 @@ -65,6 +65,6 @@ a t 19 19 20 20 drop table if exists t1; -SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a))); -(SELECT * FROM (SELECT 1 as a)) +SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a) as a )) as b; +(SELECT * FROM (SELECT 1 as a) as a ) 1 diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result index ead9935f824..b5a35b981db 100644 --- a/mysql-test/r/group_by.result +++ b/mysql-test/r/group_by.result @@ -1,4 +1,4 @@ -SELECT 1 FROM (SELECT 1) GROUP BY SUM(1); +SELECT 1 FROM (SELECT 1) as a GROUP BY SUM(1); Invalid use of group function drop table if exists t1,t2,t3; CREATE TABLE t1 ( diff --git a/mysql-test/r/select_found.result b/mysql-test/r/select_found.result index 8500e244d08..5b6c490b928 100644 --- a/mysql-test/r/select_found.result +++ b/mysql-test/r/select_found.result @@ -168,7 +168,7 @@ test2 2 2 SELECT FOUND_ROWS(); FOUND_ROWS() 2 -SELECT SQL_CALC_FOUND_ROWS 1 FROM (SELECT 1) LIMIT 0; +SELECT SQL_CALC_FOUND_ROWS 1 FROM (SELECT 1) as a LIMIT 0; 1 SELECT FOUND_ROWS(); FOUND_ROWS() diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 990c313686a..e2f786554b1 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -8,29 +8,29 @@ SELECT (SELECT 1) UNION SELECT (SELECT 2); SELECT (SELECT (SELECT 0 UNION SELECT 0)); (SELECT (SELECT 0 UNION SELECT 0)) 0 -SELECT (SELECT 1 FROM (SELECT 1) HAVING a=1) as a; +SELECT (SELECT 1 FROM (SELECT 1) as b HAVING a=1) as a; Reference 'a' not supported (forward reference in item list) -SELECT (SELECT 1 FROM (SELECT 1) HAVING b=1) as a,(SELECT 1 FROM (SELECT 1) HAVING a=1) as b; +SELECT (SELECT 1 FROM (SELECT 1) as b HAVING b=1) as a,(SELECT 1 FROM (SELECT 1) as c HAVING a=1) as b; Reference 'b' not supported (forward reference in item list) -SELECT (SELECT 1),MAX(1) FROM (SELECT 1); +SELECT (SELECT 1),MAX(1) FROM (SELECT 1) as a; (SELECT 1) MAX(1) 1 1 SELECT (SELECT a) as a; Reference 'a' not supported (forward reference in item list) -EXPLAIN SELECT 1 FROM (SELECT 1 as a) HAVING (SELECT a)=1; +EXPLAIN SELECT 1,a FROM (SELECT 1 as a) as b HAVING (SELECT a)=1; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY <derived2> system NULL NULL NULL NULL 1 3 DEPENDENT SUBSELECT No tables used 2 DERIVED No tables used -SELECT 1 FROM (SELECT 1 as a) HAVING (SELECT a)=1; -1 -1 +SELECT 1,a FROM (SELECT 1 as a) as b HAVING (SELECT a)=1; +1 a +1 1 SELECT (SELECT 1), a; Unknown column 'a' in 'field list' -SELECT 1 as a FROM (SELECT 1) HAVING (SELECT a)=1; +SELECT 1 as a FROM (SELECT 1) as b HAVING (SELECT a)=1; a 1 -SELECT 1 FROM (SELECT (SELECT a)); +SELECT 1 FROM (SELECT (SELECT a) b) c; Unknown column 'a' in 'field list' drop table if exists t1,t2,t3,t4,t5,t6,t7,t8; create table t1 (a int); @@ -308,7 +308,7 @@ SELECT numeropost,maxnumrep FROM t1 WHERE exists (SELECT 1 FROM t2 WHERE (mot='j numeropost maxnumrep 43506 2 40143 1 -SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1); +SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) b; Unknown column 'a' in 'having clause' SELECT 1 IN (SELECT 1 FROM t2 HAVING a); Unknown column 'a' in 'having clause' @@ -357,7 +357,7 @@ Subselect returns more than 1 record drop table t1; CREATE TABLE t1 (field char(1) NOT NULL DEFAULT 'b'); INSERT INTO t1 VALUES (); -SELECT field FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1 FROM (SELECT 1) HAVING field='b'); +SELECT field FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1 FROM (SELECT 1) a HAVING field='b'); Subselect returns more than 1 record drop table t1; CREATE TABLE `t1` ( @@ -387,9 +387,9 @@ id select_type table type possible_keys key key_len ref rows Extra drop table t1; CREATE TABLE t1 (a int(1)); INSERT INTO t1 VALUES (1); -SELECT 1 FROM (SELECT a FROM t1) HAVING (SELECT a)=1; -1 -1 +SELECT 1,a FROM (SELECT a FROM t1) b HAVING (SELECT b.a)=1; +1 a +1 1 drop table t1; create table t1 (a int NOT NULL, b int, primary key (a)); create table t2 (a int NOT NULL, b int, primary key (a)); diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test index c1d8af4074a..1f5f22fb6a2 100644 --- a/mysql-test/t/derived.test +++ b/mysql-test/t/derived.test @@ -9,19 +9,19 @@ CREATE TABLE t3 (a int not null, b char (10) not null); insert into t3 values (3,'f'),(4,'y'),(5,'z'),(6,'c'); select t1.a,t4.y from t1,(select t2.a as y from t2,(select t3.b from t3 where t3.a>3) as t5 where t2.b=t5.b) as t4 where t1.a = t4.y; --error 1054 -SELECT a FROM (SELECT 1 FROM (SELECT 1) HAVING a=1); +SELECT a FROM (SELECT 1 FROM (SELECT 1) a HAVING a=1) b; --error 1052 -SELECT a,b as a FROM (SELECT '1' as a,'2' as b) HAVING a=1; -SELECT a,2 as a FROM (SELECT '1' as a) HAVING a=2; -SELECT a,2 as a FROM (SELECT '1' as a) HAVING a=1; +SELECT a,b as a FROM (SELECT '1' as a,'2' as b) b HAVING a=1; +SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=2; +SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1; --error 1054 -SELECT 1 FROM (SELECT 1) WHERE a=2; +SELECT 1 FROM (SELECT 1) a WHERE a=2; --error 1054 -SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1); +SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a; drop table if exists t1.t2,t3; -select * from (select 1); -select a from (select 1 as a); -select 1 from (select 1); +select * from (select 1) as a; +select a from (select 1 as a) as b; +select 1 from (select 1) as a; drop table if exists t1; create table t1(a int not null, t char(8), index(a)); disable_query_log; @@ -32,6 +32,6 @@ while ($1) dec $1; } enable_query_log; -SELECT * FROM (SELECT * FROM t1) ORDER BY a ASC LIMIT 0,20; +SELECT * FROM (SELECT * FROM t1) as b ORDER BY a ASC LIMIT 0,20; drop table if exists t1; -SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a))); +SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a) as a )) as b; diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test index 0f30fbd4cc6..4670feca500 100644 --- a/mysql-test/t/group_by.test +++ b/mysql-test/t/group_by.test @@ -1,5 +1,5 @@ -- error 1111 -SELECT 1 FROM (SELECT 1) GROUP BY SUM(1); +SELECT 1 FROM (SELECT 1) as a GROUP BY SUM(1); # # Test of group (Failed for Lars Hoss <lh@pbm.de>) # diff --git a/mysql-test/t/select_found.test b/mysql-test/t/select_found.test index 316e7894344..fb57224dd19 100644 --- a/mysql-test/t/select_found.test +++ b/mysql-test/t/select_found.test @@ -84,7 +84,7 @@ INSERT INTO t1 (titre,maxnumrep) VALUES ('test1','1'),('test2','2'),('test3','3'); SELECT SQL_CALC_FOUND_ROWS titre,numeropost,maxnumrep FROM t1 WHERE numeropost IN (1,2) ORDER BY maxnumrep DESC LIMIT 0, 1; SELECT FOUND_ROWS(); -SELECT SQL_CALC_FOUND_ROWS 1 FROM (SELECT 1) LIMIT 0; +SELECT SQL_CALC_FOUND_ROWS 1 FROM (SELECT 1) as a LIMIT 0; SELECT FOUND_ROWS(); SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE numeropost > 1 LIMIT 0; SELECT FOUND_ROWS(); diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index c9ab505bffb..7f6e0fad60d 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -2,19 +2,19 @@ select (select 2); SELECT (SELECT 1) UNION SELECT (SELECT 2); SELECT (SELECT (SELECT 0 UNION SELECT 0)); -- error 1245 -SELECT (SELECT 1 FROM (SELECT 1) HAVING a=1) as a; +SELECT (SELECT 1 FROM (SELECT 1) as b HAVING a=1) as a; -- error 1245 -SELECT (SELECT 1 FROM (SELECT 1) HAVING b=1) as a,(SELECT 1 FROM (SELECT 1) HAVING a=1) as b; -SELECT (SELECT 1),MAX(1) FROM (SELECT 1); +SELECT (SELECT 1 FROM (SELECT 1) as b HAVING b=1) as a,(SELECT 1 FROM (SELECT 1) as c HAVING a=1) as b; +SELECT (SELECT 1),MAX(1) FROM (SELECT 1) as a; -- error 1245 SELECT (SELECT a) as a; -EXPLAIN SELECT 1 FROM (SELECT 1 as a) HAVING (SELECT a)=1; -SELECT 1 FROM (SELECT 1 as a) HAVING (SELECT a)=1; +EXPLAIN SELECT 1,a FROM (SELECT 1 as a) as b HAVING (SELECT a)=1; +SELECT 1,a FROM (SELECT 1 as a) as b HAVING (SELECT a)=1; -- error 1054 SELECT (SELECT 1), a; -SELECT 1 as a FROM (SELECT 1) HAVING (SELECT a)=1; +SELECT 1 as a FROM (SELECT 1) as b HAVING (SELECT a)=1; -- error 1054 -SELECT 1 FROM (SELECT (SELECT a)); +SELECT 1 FROM (SELECT (SELECT a) b) c; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8; create table t1 (a int); create table t2 (a int, b int); @@ -170,7 +170,7 @@ INSERT INTO t2 (mot,topic,date,pseudo) VALUES ('joce','40143','2002-10-22','joce select numeropost as a FROM t1 GROUP BY (SELECT 1 FROM t1 HAVING a=1); SELECT numeropost,maxnumrep FROM t1 WHERE exists (SELECT 1 FROM t2 WHERE (mot='joce') AND date >= '2002-10-21' AND t1.numeropost = t2.topic) ORDER BY maxnumrep DESC LIMIT 0, 20; -- error 1054 -SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1); +SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) b; -- error 1054 SELECT 1 IN (SELECT 1 FROM t2 HAVING a); SELECT * from t2 where topic IN (SELECT topic FROM t2 GROUP BY date); @@ -204,7 +204,7 @@ drop table t1; CREATE TABLE t1 (field char(1) NOT NULL DEFAULT 'b'); INSERT INTO t1 VALUES (); -- error 1240 -SELECT field FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1 FROM (SELECT 1) HAVING field='b'); +SELECT field FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1 FROM (SELECT 1) a HAVING field='b'); drop table t1; # threadhardwarefr7 @@ -230,7 +230,7 @@ drop table t1; CREATE TABLE t1 (a int(1)); INSERT INTO t1 VALUES (1); -SELECT 1 FROM (SELECT a FROM t1) HAVING (SELECT a)=1; +SELECT 1,a FROM (SELECT a FROM t1) b HAVING (SELECT b.a)=1; drop table t1; #update with subselects |